很多人都在与relative path in DeploymentItem斗争。相对路径来自解决方案文件夹。这只能在从Visual Studio运行时应用,因为mstest.exe是使用已编译的项目(而不是sln文件)作为dll启动的,因此无法正确确定部署项的相对路径。
我have found我应该通过RelativePathRoot元素在testrun.config中设置DeploymentItem相对路径。但是RelativePathRoot几乎没有文件很奇怪。如何设置MSTest的相对路径?
答案 0 :(得分:2)
正确的方法是在调用MSTest.exe时将Working目录设置为解决方案目录。这是解决 DeploymentItem 问题的简便方法。
结果意味着如果您的存储库中有多个项目和多个解决方案(每个解决方案包含一些项目),那么所有这些解决方案(sln文件)必须位于同一目录中。因为从每个解决方案到一个项目的相对路径必须相同。所以我强烈建议有一个名为 Solutions 的根目录和所有这些sln文件。
如果测试项目包含在不同目录中的两个不同解决方案中,那么DeploymentItem将有不同的相对路径,您永远不会在两个解决方案中正确配置具有deploymentPath的MSTest。