我使用的是vs2019社区,并创建了一个名为TestDLL的类库(.NET Framework(项目。
该项目包含一个单独的文件"TestDLL.cs",该文件将TestDLL作为命名空间,一个名为MyDll的公共类和一个单一的方法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TestDLL
{
public class MyDLL
{
static bool Opposite(bool input)
{
return !input;
}
}
}
我向解决方案添加了名为UnitTest的单元测试项目(.NET Framework(,添加了TinyLib_dll.dll作为引用,并创建了非常简单的测试。
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace UnitTest
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
bool start = true;
bool result = MyDLL.Opposite(start);
Assert.AreNotEqual(start, result, "MyDll.Opposite failed");
}
}
}
当我尝试运行测试时,dll文件编译成功,但UnitTest失败,并显示"错误CS0103名称"MyDLL"在当前上下文UnitTest中不存在"。
看起来,尽管我引用了dll作为引用,但它并没有加载到测试项目中。有人能帮我吗?
您在测试中似乎缺少一个TestDLL
命名空间,以便测试识别主题类
或者添加一个使用名称空间
using TestDLL;
//...
或者使用类型的全名
//...
bool result = TestDLL.MyDLL.Opposite(start);
//...
在匆忙解决问题时,我提交了带有简单编译错误的代码示例。纠正这些错误解决了我所说的问题。然而,我现在有一个关于同一项目的新问题,但为了清楚起见,我将提交一个新问题。我感谢恩科西的协助。