我从 TPv1 迁移到 TPv2(测试平台 v2)。我使用vstest.console.exe
. 我使用.testsettings
文件来部署我的测试所需的其他文件(通常它们XML
带有一些数据)。我的解决方案的骨架如下:
我TestSettings1.testsettings
的如下:
我使用这个命令来运行我的测试:
@SET LOCAL_SETTINGS=C:\data\Development\Solution14
@SET VSTEST_CONSOLE="C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/Common7/IDE/Extensions/TestPlatform/vstest.console.exe"
%VSTEST_CONSOLE% C:\data\Development\Solution14\UnitTestProject1\bin\debug\UnitTestProject1.dll ^
/Settings:%LOCAL_SETTINGS%\TestSettings1.testsettings
.testsettings
用于部署项目非常方便。
所以,由于某些原因我不能再使用.testsettings
了,但我可以使用.runsettings
和DeploymentItem
属性。
我.testsettings
不必为每个项目添加一段代码来部署我的文件。我只是使用/Settings
标志,vstest.console.exe
这个部署适用于我想要的项目。我应该在DeploymentItem
每个单元测试项目中使用一些代码。这些代码部分是相同的,我不喜欢它。我不想为每个项目添加相同的代码。
问题:在不编写重复代码的情况下,为每个项目应用相同部署行为的最佳方式是什么。
目前我使用build-event并将xcopy
它们复制到每个bin/Debug文件夹的DeploymentItems文件夹(我在 build-event 中创建它) 。之后,我添加了部署此文件夹中所有文件的内容。它看起来不太好,因为我有 3 个相同批次的构建事件。如果我添加新数据,我将需要再次为每个数据添加新的 build- event 指令。我用的时候没有这个问题。mkdir
[DeploymentItem("DeploymentItems")]
.csproj
.xml
.csproj
.testsettings