Visual studio 2012 如何设置MS测试项目的工作目录
如何为MS测试项目设置工作目录,就像我可以为普通应用程序项目设置工作目录一样?我的被测试组件需要访问其他应用程序也使用的一些配置文件。到目前为止,我必须将这些文件复制到测试项目的bin/debug文件夹中,因为这些文件应该在工作目录中Visual studio 2012 如何设置MS测试项目的工作目录,visual-studio-2012,mstest,Visual Studio 2012,Mstest,如何为MS测试项目设置工作目录,就像我可以为普通应用程序项目设置工作目录一样?我的被测试组件需要访问其他应用程序也使用的一些配置文件。到目前为止,我必须将这些文件复制到测试项目的bin/debug文件夹中,因为这些文件应该在工作目录中 是否可以为测试项目设置工作目录?测试项目的工作目录是在您开始运行测试时创建的 如果在本地运行它们,则会在项目文件夹中的文件夹TestResults中创建。如果在远程计算机中运行它们,则会在每个测试代理中按以下路径创建不同的文件夹: C:\Users{userrun
是否可以为测试项目设置工作目录?测试项目的工作目录是在您开始运行测试时创建的 如果在本地运行它们,则会在项目文件夹中的文件夹
TestResults
中创建。如果在远程计算机中运行它们,则会在每个测试代理中按以下路径创建不同的文件夹:
C:\Users{userrunsTest}\AppData\Local\VSEQT\QTAgent\{GuidForThisRun}
要在这些文件夹中部署文件并访问它们,您必须:
Copy to Output Directory=Copy Always
对于使用Visual Studio 2012的用户,如果在Properties | Build | OutputPath下设置测试项目的输出目录,那么当您从Visual Studio运行测试时,该目录将成为工作目录(因为它使用的是Vstest.console.exe)。如果您不希望将测试DLL等输出到与其他文件相同的目录,并且不希望将其他文件作为测试项目中的内容(如Schaliasos所建议的),则可以使用具有
[AssemblyInitialize]
属性的方法设置启动时的路径。您可以像往常一样通过分配System.Environment.CurrentDirectory
来实现这一点。您可能希望将工作目录作为设置或从配置文件读取
编辑
正如Rohit.Net所指出的,当您选择运行所有测试时,默认路径将在TestResults下。当使用runsettings
文件时,同样适用。当您不使用DeploymentItems时,输出文件夹将是默认的工作目录,并且:-
- 在Visual Studio中右键单击测试并选择运行/调试,或
- 您可以使用vstest.console.exe从命令行运行
…\TestResults\Deploy\u 2014-01-13 14\u 48\u 20\Out
文件夹
因此,当实体试图打开连接以运行实体相关测试时,可能无法访问数据库
在我的例子中,我使用的是SQL CE,它被设置为资源文件,并且总是被编译并将自己放入
Bin/Debug/resource
文件夹中。在我的机器上,工作目录是测试项目的防御性Bin/Debug。使用copy的想法一直在我脑海中浮现,但我宁愿不将所有需要的项目复制到测试输出目录。我建议避免使用System.Environment.CurrentDirectory
来设置当前工作目录,如post.Related post中所述-