[英]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
的项目添加到测试项目的引用中。
using NUnit.Framework;
namespace NUnit.TDDStackTests
{
[TestFixture]
public class TestClass
{
[Test]
public void TestMethod()
{
MyStack stack = new MyStack();
}
}
}
namespace TDDStack
{
class MyStack
{
}
}
我看到两个可能的问题。 首先是MyStack
类是private
。 如果在class
关键字之前没有其他修饰符,则C#将非嵌套类型默认为private
,将嵌套类型为internal
。
尝试将public
关键字添加到MyStack
类定义中:
public class MyStack
其次, MyStack
在TDDStack
命名空间中,但是您试图在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.