我正在使用 VS2012 (v110) 我创建了一个简单的 dll 应用程序,只有 1 个函数和一个测试项目来测试 dll 函数。我将两个项目都设置为 win32 的调试版本,并尝试清理和重建这两个项目,但我没有看到要在测试资源管理器窗口上运行任何测试。
我也已经在测试项目中引用了 Dll 项目。
为什么测试资源管理器窗口中没有显示任何内容?
我正在使用 VS2012 (v110) 我创建了一个简单的 dll 应用程序,只有 1 个函数和一个测试项目来测试 dll 函数。我将两个项目都设置为 win32 的调试版本,并尝试清理和重建这两个项目,但我没有看到要在测试资源管理器窗口上运行任何测试。
我也已经在测试项目中引用了 Dll 项目。
为什么测试资源管理器窗口中没有显示任何内容?
实际上 MSTest 不适用于简单的类库项目。您将必须创建一个单元测试项目并将您的测试放在那里。
如果您使用 NUnit 等其他测试框架,则可以使用普通类库。然后,您可以使用 NUnit 在 VS 外部运行测试,或使用 ReSharper 等工具在 VS 内部运行这些测试
似乎您使用了 MSTest 以外的一些测试框架。如果你想将测试资源管理器用于其他一些框架,你也应该安装它的运行器。例如 NUnit 需要在 VS.NET 中安装它的测试适配器和扩展
更多信息请参见此处。
您应该能够修改现有的类库项目,以通过修改 .csproj 文件中的 ProjectTypeGuids 来让 mstest 将其识别为测试项目,如this answer How to get VS2010 to identify my mstests generated by SpecFlow? (查找列出特定指南的答案,而不是当前接受的仅创建一个新项目的答案。)
遇到过类似的问题。解决了。我一直在将测试项目添加到我的 VS 2012 解决方案中,并且测试没有出现在测试资源管理器中。问题是测试项目位于 IIS inetpub\wwwroot 文件夹中,该文件夹没有 Windows 用户权限来修改它。添加解决方案文件夹 Windows 用户权限来修改它解决了问题。测试现在在测试资源管理器中可见并且能够被调试。我假设由 Windows 用户运行的 vstest.discoveryengine.exe 进程无权访问测试项目文件