我在TFS中使用MSBuild,使用DefaultTemplate构建同一解决方案的多个配置(调试/发行版)。当我只生成发行版或仅调试时,单元测试将被运行,但是当我使用这两种配置运行生成时,单元测试就不会运行。
当我运行多个配置时,我在Process-> Item to Build-> Configuration to build下的Build定义中定义了每个配置--这是混合平台x发布,混合平台x调试。当我运行单个配置时,我使用的是混合平台、包发行版或混合平台--_\_
我无法将整个日志放在这里(它超过6000行),但它似乎没有找到任何一个testAssemblies。
编辑:
下面是日志的实际部分。我不知道混合平台\发布从哪里来的搜索路径根。
我还应该补充一点,我们将编译到Source的文件夹中,因为我们的一些脚本只在这个布局中工作。
仅限调试(Works)
运行MSTest用于测试程序集C:\Program (x86)\Microsoft 10.0\Common7\IDE\MSTest.exe /nologo /usestderr /usestderr“/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:"Debug”加载/platform加载C:\Builds\6\ProductName\BuildName\Sources\Test\UnitTestCommon\bin\Debug\UnitTestCommon.dll...加载C:\Builds\6\ProductName\BuildName\Sources\Test\UnitTestCommon\bin\Release\UnitTestCommon.dll...
调试和发布(不工作)
运行测试程序集C:\Program (x86)\Microsoft 10.0\Common7\IDE\MSTest.exe /nologo /usestderr MSTest平台\发布“/resultsfileroot:"C:\Builds\6\ProductName\BuildName\TestResults”/testcontainer:"C:\Builds\6\ProductName\BuildName\Sources\Test\UnitTestCommon\bin\“/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:“未找到”目录平台\发布“。
发布于 2011-07-01 16:26:26
事实证明,我的outputDirectory在如何编译我们的项目时是错误的。这就是搜索路径根问题的来源。
发布于 2011-06-30 22:55:50
如果单击解决方案的属性(作为构建的一部分构建的解决方案)。您将拥有配置管理器。在配置管理器中,您将能够看到“调试”、“发布”、“混合”等任何其他您可能已经定义的配置。您能看到选中的要在混合配置中构建的测试项目吗?如果没有构建它,test.dll将不可用--这意味着,MSBuild将不会运行任何测试。
另一种验证测试不运行的方法是查看build目录,看看是否可以在那里看到test.dll。如果test.dll不存在,那么问题在于如何在配置管理器中配置项目。
https://stackoverflow.com/questions/6540203
复制相似问题