【发布时间】:2011-09-26 06:44:03
【问题描述】:
我在我的 TFS 构建过程中使用 MSBuild,使用 DefaultTemplate 构建同一解决方案的多个配置(调试/发布)。当我仅构建发布或仅调试时,会运行单元测试,但是当我使用两种配置运行构建时,单元测试不会运行。
当我运行多个配置时,我将它们中的每一个都定义在 Process-> Items to Build-> Configurations to Build 下的构建定义中,即 Mixed Platforms|Release,Mixed Platforms|Debug。当我运行单个配置时,我使用的是混合平台|发布或混合平台|调试。
我无法将整个日志放在这里(超过 6000 行),但它似乎没有找到任何 testAssemblies。
编辑:
以下是日志的实际部分。我不确定搜索路径根中 Mixed Platforms\Release 的来源。
我还应该补充一点,我们编译到 Source 的文件夹中,因为我们的一些脚本只能在该布局中工作。
仅调试(有效)
为测试程序集运行 MSTest C:\Program Files (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" /publish :"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:\Program Files (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" /publish:"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”。
【问题讨论】:
-
他们根本没有运行?为什么不?构建日志说明了什么?
-
您能否更详细地解释一下“运行构建”的含义以及您如何准确地指定多个配置?是 IDE 还是命令行、解决方案还是项目...?
标签: unit-testing tfs msbuild