繁体   English   中英

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

[英]NUnit test does not recognize a class that I created - “The type or namespace name could not be found”

我正在设置基本的NUnit测试项目以测试STACK对象。 我已经创建了MyStack类和一个TestClass TestClass找不到对我创建的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
    {
    }
}

我看到两个可能的问题。 首先是MyStack类是private 如果在class关键字之前没有其他修饰符,则C#将非嵌套类型默认为private ,将嵌套类型为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每种用法MyStack加上包含它的名称空间:

var stack = new TDDStack.MyStack();

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM