运行所有测试但在报告中只有我想要运行的方法

时间:2017-06-01 10:44:10

标签: mstest opencover reportgenerator

我必须使用程序集,一个用于测试,另一个是具有我想要测试的方法的主程序集。

在我的测试程序集中,我有很多类,每个类都测试主程序集类的方法。总的来说,在所有类中,我有大约300种测试方法,但在MyClass01Test中我只有30种测试方法。我想只运行这个类中的方法,而不是所有的测试。

我正在尝试使用此过滤器:

"-filter:+[*]*.MyMainClass -[*Tests]*"

问题是它运行所有测试,不仅仅是测试程序集中MyMainClassTest类中的测试。但是,在我使用reportgenerator的报告中,我只获得了MyClass01中的方法,它是正确的。

我使用的完整命令是:

"D:\programas\OpenCover\OpenCover.Console.exe" -register:user "-filter:+[*]*.MyMainClass01 -[*Tests]*" -target:"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\MSTest.exe" -targetargs:"/testcontainer:\"F:\.MyAssmeblyTests.dll\"" -output:"F:\tests\resutlts.xml"

1 个答案:

答案 0 :(得分:1)

你必须告诉MSTest应该执行哪些测试。 这与OpenCover和ReportGenerator无关。他们只跟踪执行情况并创建报告。

您可以在此处找到MSTest的相关参数: https://msdn.microsoft.com/en-US/library/ms182489.aspx