如何在 MSTest 中设置 DeploymentItem 的相对路径?
How to set relative path for DeploymentItem in MSTest?
很多人都在与 relative path in DeploymentItem 作斗争。相对路径来自解决方案文件夹。这仅适用于 Visual Studio 的 运行,因为 mstest.exe 是使用已编译的项目(而不是 sln 文件)作为 dll 启动的,因此无法正确确定部署项的相对路径。
我have found that I should set the DeploymentItem relative path in testrun.config by RelativePathRoot element. But there is almost no documentation for RelativePathRoot which is strange. How do you set relative path to MSTest?
正确的做法是在调用MSTest.exe时将工作目录设置为解决方案目录。这是解决 DeploymentItem 问题的简单方法。
因此,这意味着如果您的存储库中有多个项目和多个解决方案(每个解决方案都包含其中一些项目),则所有这些解决方案(sln 文件)必须位于同一目录中。因为从每个解决方案到一个项目的相对路径必须相同。所以我强烈建议有一个名为Solutions 的根目录,并将所有这些sln 文件放在里面。
如果测试项目包含在不同目录的两个不同解决方案中,则 DeploymentItem 的相对路径将不同,您将永远无法在两个解决方案中正确配置 MSTest 和 deploymentPath。
很多人都在与 relative path in DeploymentItem 作斗争。相对路径来自解决方案文件夹。这仅适用于 Visual Studio 的 运行,因为 mstest.exe 是使用已编译的项目(而不是 sln 文件)作为 dll 启动的,因此无法正确确定部署项的相对路径。
我have found that I should set the DeploymentItem relative path in testrun.config by RelativePathRoot element. But there is almost no documentation for RelativePathRoot which is strange. How do you set relative path to MSTest?
正确的做法是在调用MSTest.exe时将工作目录设置为解决方案目录。这是解决 DeploymentItem 问题的简单方法。
因此,这意味着如果您的存储库中有多个项目和多个解决方案(每个解决方案都包含其中一些项目),则所有这些解决方案(sln 文件)必须位于同一目录中。因为从每个解决方案到一个项目的相对路径必须相同。所以我强烈建议有一个名为Solutions 的根目录,并将所有这些sln 文件放在里面。
如果测试项目包含在不同目录的两个不同解决方案中,则 DeploymentItem 的相对路径将不同,您将永远无法在两个解决方案中正确配置 MSTest 和 deploymentPath。