0

我创建了一个控制台应用程序,该应用程序设计为完全独立且包含运行所需的所有 DLL。我能够做到这一点并让它在本地运行,但是当复制到另一台计算机时,我开始收到这条消息......

“没有注册测试发现者来执行测试用例的发现。注册一个测试发现者并重试。”

我发现了这个 Microsoft 错误报告,但由于无法重现而被关闭: https ://connect.microsoft.com/VisualStudio/feedback/details/770093/unit-test-project-not-discovering-test-cases

4

2 回答 2

4

我不想坐等微软说他们无法重现,所以我深入研究了它,发现我收到此错误消息的原因是因为我缺少 DLL 文件“Microsoft.VisualStudio.QualityTools.UnitTestFramework .dll”

这是包含测试发现器的文件,它需要位于运行测试的可执行文件的目录以及测试文件本身的目录中。很容易错过,因为运行测试的程序集似乎完全包含在"Microsoft.VisualStudio.TestPlatform"命名空间中,并且测试似乎只需要引用"Microsoft.VisualStudio.TestTools.UnitTesting"

我决定发布这个“知识共享”帖子,因为互联网上没有关于这个问题的其他信息,而且微软的 MSTest 框架文档充其量也很糟糕。

于 2013-05-31T19:08:57.000 回答
0

只是在最初用 .Net 3.5 编写并在 vs 2013 中运行(或不运行)的一些单元测试中遇到了这个问题。

Love2Learn 提到的 UnitTestFramework.dll 存在,但更新到 .Net 4.5 似乎可以解决问题。

我敢肯定有人可以解释为什么,但我的直觉是,这与这是一个多平台解决方案有关,而且 .Net 4.5 更擅长针对 64 位项目运行 32 位单元测试。

于 2013-06-05T08:58:16.583 回答