1

我从 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了,但我可以使用.runsettingsDeploymentItem属性。

.testsettings不必为每个项目添加一段代码来部署我的文件。我只是使用/Settings标志,vstest.console.exe这个部署适用于我想要的项目。我应该在DeploymentItem每个单元测试项目中使用一些代码。这些代码部分是相同的,我不喜欢它。我不想为每个项目添加相同的代码。

问题:在不编写重复代码的情况下,为每个项目应用相同部署行为的最佳方式是什么。

目前我使用build-event并将xcopy它们复制到每个bin/Debug文件夹的DeploymentItems文件夹(我在 build-event 中创建它) 。之后,我添加了部署此文件夹中所有文件的内容。它看起来不太好,因为我有 3 个相同批次的构建事件。如果我添加新数据,我将需要再次为每个数据添加新的 build- event 指令。我用的时候没有这个问题。mkdir[DeploymentItem("DeploymentItems")].csproj.xml.csproj.testsettings

4

0 回答 0