运行 多个测试来自不同测试项目的相同构建

Run multiple test same build from different tests project

在以下情况下需要您的帮助:

这行不通,*database.dll 的测试没有 运行。在 Visual Studio Test Runner

中选择的测试

你能帮忙吗?如果我只使用 1 个 dll 进行构建,例如 *.database.dll,TEST1 运行s well.

(更新)情景 1

测试用例过滤器: TestCategory=TEST1|TestCategory=TEST1|TestCategory=TEST2|TestCategory=TEST3|TestCategory=TEST4

测试源规范: *database.dll;*deployment.dll

只有 运行s TEST1


(更新)情景 2

测试用例过滤器: TestCategory=TEST1|TestCategory=TEST1|TestCategory=TEST2|TestCategory=TEST3|TestCategory=TEST4

测试源规范: **\*deployment.dll;*database.dll

仅 运行s 测试 2、测试 3、测试 4

(更新)在 Database.dll 中找不到测试

我已经在 TFS 2015.3 XAML 版本中进行了测试,但无法重现您的问题。我想在这里分享我的步骤供您参考:

  1. 我有一些项目的解决方案,其中 2 个是 UnitTest 项目(UnitTestProject1、UnitTestProject2)。

  2. 在UnitTest1项目中,我为两个测试用例添加了TestCategory,查看下面的截图:

    [TestMethod()]
    [TestCategory("Pro")]
    public void M1Test()
    {
       //
    }
    
    [TestMethod()]
    [TestCategory("Dev")]
    public void M2Test()
    {
        //
    }
    
  3. 类似Step2,在UnitTest2项目中,我为两个测试用例添加了TestCategory,如下截图:

    [TestMethod()]
    [TestCategory("Pro1")]
    public void M3Test()
    {
       //
    }
    
    [TestMethod()]
    [TestCategory("Dev1")]
    public void M4Test()
    {
        //
    }
    
  4. 在构建定义中编辑 "Test Case Filter" 和 "Test Sources Spec",如下图所示,并将构建排队:

  1. 测试结果符合预期。只测试UnitTestProject1中的M1Test和M2Test,UnitTestProject2中的M3Test和M4Test。

终于解决了:)

所以,我为解决这个问题所做的就是更改构建过程模板。

这个过程有一个步骤,调用:"FindMatchingFiles"

我改变这个值如下图所示。 (但是,从现在开始,我必须在使用此过程模板的所有过滤器中使用“**\*”)。此操作确保我拥有完整目标路径的程序集。

如果您有不同的解决方案,请在此处post:)

特别感谢@Cece - MSFT 的所有支持