【问题标题】:CS0246 error while trying to create xUnit tests尝试创建 xUnit 测试时出现 CS0246 错误
【发布时间】:2020-04-13 22:53:44
【问题描述】:

我什至还没有尝试在那里测试任何东西,只是想在我的测试 BookTests.cs 文件中创建一个类 Book 的实例(我想在未来测试)。我添加了对 GradeBook.Tests.csproj 的引用,因为 Gradebook 的整个源代码位于另一个文件夹中。然而它仍然返回 CS0246 错误:找不到类型或命名空间名称“Book”。 您是否缺少程序集引用的 using 指令?

Gradebook.Tests.csproj with directory tree

using System.Collections.Generic;
namespace Gradebook
{   
    public class Book
    {
       private List<double> grades; 
        private string name;
        public Book(string name)
        {
            this.name = name;
            grades  = new List<double>();
        }
        public void AddGrade(double grade)
        {
           grades.Add(grade);

        }
    }  
}

书籍.cs

using System;
using Xunit;

namespace GradeBook.Tests
{
    public class BookTests
    {
        [Fact]
        public void Test1()
        {
            //arrange 
            var book2 = new Book("test");           


        }
    }
}

BookTests.cs

代码非常简单,因为我正在学习 Pluralsight 课程 C# 基础知识,并且我按照视频中的方式进行了所有操作。还尝试了 dotnet restore 命令。包含 Book.cs 的项目路径可能是正确的(当我更改某些内容时会发生其他错误)。在 VSC 上工作。我在这里想念什么?

【问题讨论】:

  • 在测试中缺少 using 指令 (using GradeBook;),因为这两个类位于不同的命名空间中
  • 这也应该有帮助->stackoverflow.com/help/how-to-ask
  • 这与使用指令无关——在添加 VSC 后会在其下划线并警告不必要的指令

标签: c# visual-studio-code xunit cs0246


【解决方案1】:

我知道距离上次更新已经 2 个月了,但您遇到问题的原因是您在 Book.cs 中使用命名空间 Gradebook,但在 BookTests 中使用 GradeBook。 CS。 (注意大写B)

将其重命名为Gradebook,并确保您的目录名称正确无误。

【讨论】:

    猜你喜欢
    • 2019-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-06
    • 2013-09-12
    • 2015-01-15
    相关资源
    最近更新 更多