Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用mstest.exe和VS2017按类别筛选_C#_Visual Studio_Unit Testing_Visual Studio 2017_Mstest - Fatal编程技术网

C# 使用mstest.exe和VS2017按类别筛选

C# 使用mstest.exe和VS2017按类别筛选,c#,visual-studio,unit-testing,visual-studio-2017,mstest,C#,Visual Studio,Unit Testing,Visual Studio 2017,Mstest,编辑:这是Visual Studio 2017版。对VS2015和所有工程重复相同的程序 我在VS2017中创建了一个简单的单元测试项目,其中包含两个单元测试。 这些试验标有“矿石”类别,如下所示: [TestClass] public class Copper { [TestCategory("Ores"), TestMethod] public void CheckCopper() { DataMiner locMiner = new DataMine

编辑:这是Visual Studio 2017版。对VS2015和所有工程重复相同的程序

我在VS2017中创建了一个简单的单元测试项目,其中包含两个单元测试。 这些试验标有“矿石”类别,如下所示:

[TestClass]
public class Copper
{
    [TestCategory("Ores"), TestMethod]
    public void CheckCopper()
    {
        DataMiner locMiner = new DataMiner();

        string result = locMiner.GetCopper();

        Assert.AreEqual("Copper", result);
    }
}
现在,我尝试通过命令行和/category过滤器使用mstest.exe运行此测试。 完整的调用是:mstest/testcontainer:TestSystem.dll/category:Ores

MSTest.exe通过路径变量链接: “C:\ProgramFiles(x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE;”

我收到了“无需执行测试”的消息。无论我是将类别写为“Ores”还是“Ores”,都没有关系。如果没有/category过滤器,mit测试将按预期运行

类别为的测试运行失败。 没有分类就没有问题。
在微软员工的友好帮助下,我找到了一个解决方案

首先需要澄清: mstest.exe不支持VS2017创建的MSTestV2程序集。 也许我挖得不够深,或者它是坏的

无论如何,vstest.console.exe是使用此配置执行基于命令行的单元测试的正确方法。

但有一个不同的陷阱:VS2017安装了两个版本的vstest.console.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

最后是VS2017 MSTestV2创建的测试程序集的工作执行示例,其中过滤器处于活动状态: