MS测试,解决方案中的多个测试项目和DeploymentItemAttribute

时间:2012-03-12 22:35:50

标签: mstest deploymentitem

我的VS 2010解决方案中有两个单元测试项目。每个项目都有一个Data目录,其中包含单元测试所需的输入数据。

我用

注释了需要数据的测试类
[DeploymentItem("Data")]

当我单独运行测试时,运行正常。但是,当我在解决方案中运行(或调试)所有测试时,我发现只有两个Data目录中的一个被复制到TestResults\MyTestDir-YYYY-MM-DD HH_mm_SS\Out,导致依赖于其他数据目录的单元测试失败。

有趣的是,如果我然后使用“测试结果”窗口重新运行已检查(如在失败中)测试,则测试仍然失败(他们无法识别缺少正确的数据目录文件)。如果我然后直接导航到失败的测试并选择在当前上下文中运行测试,则测试运行将获得正确的数据目录并且测试成功。

我的问题:如何将两个独立测试项目中的DeploymentItem全部复制到执行测试的Out目录中?

作为参考,我在没有注明解决方案的情况下审阅了这些问题

Problems with DeploymentItem attribute

Do MSTest deployment items only work when present in the project test settings file?

1 个答案:

答案 0 :(得分:1)

我发现给每个“数据”目录一个唯一的名称(例如“TestProjectAData”)解决了这个问题。当不同路径中的多个目录都具有到不同测试项目的相同路径时(例如,如果每个测试项目都有一个名为“Data”的子目录),似乎存在某种错误。