代码之家  ›  专栏  ›  技术社区  ›  deBloB

使用mstest按类别过滤。exe和VS2017

  •  2
  • deBloB  · 技术社区  · 7 年前

    [TestClass]
    public class Copper
    {
        [TestCategory("Ores"), TestMethod]
        public void CheckCopper()
        {
            DataMiner locMiner = new DataMiner();
    
            string result = locMiner.GetCopper();
    
            Assert.AreEqual("Copper", result);
        }
    }
    

    完整的调用是:mstest/testcontainer:TestSystem。dll/类别:矿石

    “C:\Program Files(x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE;”

    不管我把这个类别写成“矿石”还是“矿石”。没有/类别过滤器,mit测试按预期运行。

    类别的测试运行失败。 enter image description here enter image description here

    1 回复  |  直到 7 年前
        1
  •  1
  •   deBloB    7 年前

    在微软员工的友好帮助下,我找到了一个解决方案。

    mstest。exe不支持VS2017创建的MSTestV2程序集。

    无论如何

    但有一个不同的陷阱:vstest有两个版本。安慰与VS2017一起安装的exe。

    过时的、不起作用的: “C:\Program Files(x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\Extensions\TestPlatform\vstest.console.exe”,版本为15.0.0.0

    要使用的版本: “C:\Program Files(x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe”,版本为15.0.26720.2

    vstest.console.exe works fine