1

很多人都在为 DeploymentItem 中的相对路径而苦苦挣扎。相对路径来自解决方案文件夹。这仅适用于从 Visual Studio 运行时,因为 mstest.exe 以编译项目(而不是 sln 文件)作为 dll 启动,因此无法正确确定部署项的相对路径。

发现我应该通过 RelativePathRoot 元素在testrun.config中设置 DeploymentItem 相对路径。但是几乎没有关于RelativePathRoot的文档,这很奇怪。你如何设置MSTest的相对路径?

4

1 回答 1

2

正确的做法是在调用 MSTest.exe 时将工作目录设置为解决方案目录。这是解决DeploymentItem问题的简单方法。

结果,这意味着如果您的存储库中有多个项目和多个解决方案(每个解决方案都包含其中一些项目),那么所有这些解决方案(sln 文件)必须位于同一目录中。因为从每个解决方案到一个项目的相对路径必须相同。所以我强烈建议在里面有一个名为Solutions的根目录和所有这些 sln 文件。

如果测试项目包含在不同目录中的两个不同解决方案中,则 DeploymentItem 的相对路径将不同,您将永远无法在两个解决方案中正确配置 MSTest 和 deploymentPath。

于 2015-08-29T08:01:46.900 回答