为单元测试dll设置VS2019社区时出现问题



我使用的是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);
//...

在匆忙解决问题时,我提交了带有简单编译错误的代码示例。纠正这些错误解决了我所说的问题。然而,我现在有一个关于同一项目的新问题,但为了清楚起见,我将提交一个新问题。我感谢恩科西的协助。

最新更新