如何设置MS Test项目的工作目录

Tho*_*mas 14 mstest visual-studio-2012

如何为MS Tests项目设置工作目录,就像我可以为正常的应用程序项目做的那样?我测试的组件需要访问一些其他应用程序也使用的配置文件.到目前为止,我必须将这些文件复制到我的测试项目的bin/debug文件夹中,因为这些文件应该在工作目录中.

是否可以为测试项目设置工作目录?

aca*_*lon 5

对于使用 Visual Studio 2012 的用户,如果您在 Properties|Build|OutputPath 下设置测试项目的输出目录,那么当您从 Visual Studio 运行测试时,它将成为工作目录(因为它使用的是 Vstest.console.exe) . 如果您不想将测试 dll 等输出到与其他文件相同的目录,并且不想将其他文件作为测试项目中的内容(如 Schaliasos 建议的那样),则可以设置在具有该[AssemblyInitialize]属性的方法中启动时的路径。您可以System.Environment.CurrentDirectory像往常一样通过分配来做到这一点。您可能希望将工作目录作为设置或从配置文件中读取。

编辑

正如 Rohit.Net 所指出的,当您选择Run All Tests默认路径时,将在 TestResults 下。使用runsettings文件时同样适用。当您不使用 DeploymentItems 时,输出文件夹将是默认工作目录,并且:-

  • 在 Visual Studio 中右键单击测试并选择运行/调试,或
  • 您可以使用 vstest.console.exe 从命令行运行。


cha*_*sos 2

测试项目的工作目录是在您开始运行测试时创建的。

TestResults如果您在本地运行它们,则会在项目文件夹内的文件夹中创建它们。如果您在远程计算机中运行它们,则会在每个测试代理中的以下路径中创建不同的文件夹:

C:\Users{userRunsTheTest}\AppData\Local\VSEQT\QTAgent\{GuidForThisRun}

为了将您的文件部署到这些文件夹中并有权访问它们,您必须:

  1. 设置Copy to Output Directory = Copy Always
  2. 在需要这些文件的测试中将它们设置为DeploymentItems