如何更改为特定构建配置运行的单元测试?

时间:2009-12-10 01:37:08

标签: visual-studio-2008 unit-testing configuration tfs

我们有一个Visual Studio 2008解决方案,其中包含大量项目。对于当前产品,仅使用其中一些项目。

我们为该产品创建了一个构建配置,因此我们不必在解决方案中构建每个项目。

我希望能够轻松运行与此构建相关的所有单元测试。目前我们不关心的项目有大量测试。因为这些项目不在构建中,所以它们不会被编译,因此我们无法测试它们。

是否有更简单的方法来定义应该运行哪些测试,而不仅仅是从测试视图中挑选和选择它们?

2 个答案:

答案 0 :(得分:1)

您可以创建一些只编译特定项目的msbuild脚本,并且可以为每个场景创建一个脚本。

例如

对于2个C#项目A和B,有2个测试AT和BT:

<if condition="$(BuildA)"> <!-- If Building Project A -->
<csc ... "A" /> <!-- Build A project -->
</if>

<if condition="$(BuildA)"> <!-- If Building Project A -->
<csc ... "AT" /> <!-- Build AT project -->
<exec "AT" ... /> <!-- Run AT tests -->
</if>

然后运行已构建的测试。

答案 1 :(得分:1)

使用* .csproj文件,在文本编辑器中打开它,并添加您自己的MSBuild任务,以在AfterBuild目标中运行单元测试。类似的东西:

<Target Name="AfterBuild">
   <Exec Command="mstest.exe /detail:errormessage /detail:errorstacktrace /runconfig:$(TestRunConfig) /testcontainer:[relative path to your test assembly DLL] /resultsfile:UnitTestResults.trx" />
</Target>
相关问题