2

我负责在非 TFS 构建工具中提出一个工作流,该工具将构建一个解决方案,在解决方案中运行单元测试项目,然后打包构建的最终输出以进行部署。我最初构建了一个工作流,它使用 MSBuild 和 Outdir 参数来获取可发布的应用程序以供以后存储。当我将单元测试项目添加到解决方案时,它们在 Visual Studio (2010) 中运行良好,但是当我通过 MSBuild 运行我的解决方案时,MSTest 步骤找不到测试,因为 VSMDI 文件指向测试项目中的 BIN 文件夹,但是Outdir 参数应用于解决方案级别,因此测试 DLL 在 Outdir 目录而不是 BIN 文件夹中构建。如果我从 MSBuild 中删除 Outdir,测试会运行,但我没有获得可发布的应用程序。

当 MSBuild 与 Outdir 一起运行时,任何想法如何让 MSTest 根据 VSMDI 文件正确运行测试?我曾考虑编写一个 XML 转换脚本以将 VSMDI 中的路径更改为 Publish 文件夹,但这似乎是一个 hack。

非常感谢任何建议。

4

1 回答 1

0

您可以一起放弃 vsmdi 文件并将列表中的 dll 传递给命令行工具吗?
否则 id plum 用于转换。转换并没有您想象的那么糟糕,因为至少您知道开发人员正在运行与您的构建相同的测试,并且当您尝试构建、测试和打包发布版本时,您会遇到这个问题。

于 2013-04-27T16:21:29.040 回答