Unit testing 单元测试不是';t在TFS 2010中使用多个生成配置运行

Unit testing 单元测试不是';t在TFS 2010中使用多个生成配置运行,unit-testing,tfs,msbuild,Unit Testing,Tfs,Msbuild,我正在TFS构建过程中使用MSBuild,使用DefaultTemplate构建同一解决方案的多个配置(调试/发布)。当我仅构建版本或仅调试时,单元测试将运行,但当我使用这两种配置运行构建时,单元测试将不运行 当我运行多个配置时,我在Process->Items to build->configurations to build(混合平台|发布,混合平台|调试)下的构建定义中定义了每个配置。当我运行单个配置时,我使用的是混合平台|发布或混合平台|调试 我无法将整个日志放在这里(超过6000行),

我正在TFS构建过程中使用MSBuild,使用DefaultTemplate构建同一解决方案的多个配置(调试/发布)。当我仅构建版本或仅调试时,单元测试将运行,但当我使用这两种配置运行构建时,单元测试将不运行

当我运行多个配置时,我在Process->Items to build->configurations to build(混合平台|发布,混合平台|调试)下的构建定义中定义了每个配置。当我运行单个配置时,我使用的是混合平台|发布或混合平台|调试

我无法将整个日志放在这里(超过6000行),但它似乎没有找到任何测试组件

编辑:

以下是日志的实际部分。我不确定混合平台\版本在searchpathroot中来自何处

我还应该补充一点,我们编译到源代码的文件夹中,因为我们的一些脚本只在该布局中工作

仅调试(有效)

对测试程序集运行MSTest C:\ProgramFiles(x86)\Microsoft Visual Studio 10.0\Common7\IDE\MSTest.exe/nologo/usestderr/testSettings:“C:\Builds\6\ProductName\BuildName\Sources\Product\Local.testSettings”/searchpathroot:“C:\Builds\6\ProductName\BuildName\Sources”/resultsfileroot:“C:\Builds\6\ProductName\BuildName\TestResults”/testcontainer:“C:\Builds\6\ProductName\BuildName\Sources\Test\UnitTestCommon\bin\Debug\UnitTestCommon.dll”/testcontainer:“C:\Builds\6\ProductName\BuildName\Sources\Test\UnitTestCommon\bin\Release\UnitTestCommon.dll”/testcontainer:“C:\Builds\6\ProductName\BuildName\Sources\Test\UnitTestWCF\bin\Debug\UnitTestWCF.dll”/testcontainer:”C:\Builds\6\ProductName\BuildName\Sources\Test\UnitTestWCF\bin\Release\UnitTestWCF.dll“/发布:http://dctfs2010.company.dc:8080/tfs/Product“/publishbuild:”vstfs:///Build/Build/964/teamproject:“ProductName”/platform:“混合平台”/flavor:“调试” 正在加载C:\Builds\6\ProductName\BuildName\Sources\Product\Local.testsettings。。。 正在加载C:\Builds\6\ProductName\BuildName\Sources\Test\UnitTestCommon\bin\Debug\UnitTestCommon.dll。。。 正在加载C:\Builds\6\ProductName\BuildName\Sources\Test\UnitTestCommon\bin\Release\UnitTestCommon.dll

调试和发布(不工作)

对测试程序集运行MSTest C:\ProgramFiles(x86)\Microsoft Visual Studio 10.0\Common7\IDE\MSTest.exe/nologo/usestderr/testSettings:“C:\Builds\6\ProductName\BuildName\Sources\Product\Local.testSettings”/searchpathroot:“C:\Builds\6\ProductName\BuildName\Sources\Mixed Platforms\Release”/resultsfileroot:“C:\Builds\6\ProductName\BuildName\TestResults”/testcontainer:”C:\Builds\6\ProductName\BuildName\Sources\Test\UnitTestCommon\bin\Debug\UnitTestCommon.dll”/testcontainer:“C:\Builds\6\ProductName\BuildName\Sources\Test\UnitTestCommon\bin\Release\UnitTestCommon.dll”/testcontainer:“C:\Builds\6\ProductName\BuildName\Sources\Test\UnitTestWCF\bin\Debug\UnitTestWCF.dll”/testcontainer:”C:\Builds\6\ProductName\BuildName\Sources\Test\UnitTestWCF\bin\Release\UnitTestWCF.dll“/发布:http://dctfs2010.company.dc:8080/tfs/Product“/publishbuild:”vstfs:///Build/Build/962/teamproject:“ProductName”/platform:“混合平台”/flavor:“发布”
未找到目录“C:\Builds\6\ProductName\BuildName\Sources\Mixed Platforms\Release”。

如果单击解决方案(作为生成的一部分生成的解决方案)的属性。您将拥有配置管理器。在配置管理器上,您将能够看到“调试”、“发布”、“混合”等您可能已定义的任何其他配置。您是否可以看到检查为在混合配置中生成的测试项目?如果未生成该项目,则test.dll将不可用,这意味着MSBuild将没有要运行的所有测试


验证测试为什么没有运行的另一种方法是查看build drop目录,看看是否可以在那里看到test.dll。如果test.dll不在那里,那么问题在于如何在配置管理器中配置项目。

结果表明,我的outputDirectory设置错误,无法编译项目。Which是searchpathroot问题的根源。

它们根本没有运行?为什么不运行?构建日志怎么说?您能否更详细地解释一下“运行构建”的含义,以及您是如何指定多个配置的?是IDE还是命令行、解决方案还是项目…?感谢您的帮助,我找到了答案:DDo您指的是““测试程序集文件规格”通常是
***Test*.dll
?您到底更改了什么?对于一个公认的答案,它并不是那么有用。