NUnit测试无法识别我创建的类-“找不到类型或名称空间名称”

时间:2019-05-15 18:59:02

标签: c# visual-studio nunit-3.0

我正在设置基本的NUnit测试项目以测试STACK对象。我创建了MyStack类和一个TestClassTestClass找不到对我创建的MyStack类的引用。

  

找不到类型或名称空间名称“ MyStack”(您是否缺少using指令或程序集引用?

我正在使用NUnit和NUnit3TestAdapter。我已将包含MyStack的项目添加到测试项目的引用中。

TestClass

using NUnit.Framework;

namespace NUnit.TDDStackTests
{
    [TestFixture]
    public class TestClass
    {
        [Test]
        public void TestMethod()
        {
            MyStack stack = new MyStack();
        }
    }
}

MyStack

namespace TDDStack
{
    class MyStack
    {
    }
}

1 个答案:

答案 0 :(得分:2)

我看到两个可能的问题。第一个是MyStack类是private。如果在private关键字之前没有其他修饰符,则C#将非嵌套类型默认为class,将嵌套类型默认为internal

尝试将public关键字添加到您的MyStack类定义中:

public class MyStack

第二,MyStackTDDStack命名空间中,但是您试图在NUnit.TDDStackTests命名空间的类中创建它的实例。要解决此问题,您可以在单元测试中为名称空间添加using语句:

using NUnit.Framework;
using TDDStack; // Add this

namespace NUnit.TDDStackTests
{
    [TestFixture]
    public class TestClass

    // etc ...

或者您也可以在MyStack的每种用法之前加上包含它的名称空间:

var stack = new TDDStack.MyStack();

如果这些类位于单独的项目中,则还需要在要使用它的项目(单元测试项目)中添加对包含MyStack的项目的引用。