我很想知道是否有一种方法可以让Visual Studio在生成给定程序集时运行与该程序集对应的单元测试。
给定一个包含如下结构的项目的解决方案:
Assembly1
Assembly1.Tests
Assembly2
Assembly2.Tests
是否有一种方法可以让Assembly2.Tests
中的单元测试在构建Assembly2
时运行?
那就太棒了。
我使用的是Visual Studio 2008标准版。
我很想知道是否有一种方法可以让Visual Studio在生成给定程序集时运行与该程序集对应的单元测试。
给定一个包含如下结构的项目的解决方案:
Assembly1
Assembly1.Tests
Assembly2
Assembly2.Tests
是否有一种方法可以让Assembly2.Tests
中的单元测试在构建Assembly2
时运行?
那就太棒了。
我使用的是Visual Studio 2008标准版。
2条答案
按热度按时间8mmmxcuj1#
您可以使用nUnit控制台实用工具将测试作为单个项目的构建后事件运行。
调用nunit-console.exe并提供包含测试的程序集作为参数。
"C:\程序文件\N单元2.5.7\bin\net-2.0\nunit-console.exe""测试程序集路径. dll"
或
您可以在GUI中运行测试:
"C:\程序文件\N单元2.5.7\bin\net-2.0\nunit.exe""测试程序集路径. dll "/run
编辑:
删除了有关测试程序集项目的生成后事件的部分。
kgsdhlau2#
更新
Visual Studio 2019
,其中包含Test Explorer > Settings > Run Tests After Build
。适用于针对NUnit、xUnit或MSTest的任意组合的单元测试,前提是测试由Test Explorer
拾取。值得注意的是,如果一个项目中发生编译错误,则不以失败项目为目标的单元测试仍然会运行。似乎没有“仅在所有项目生成成功时运行测试”的选项。