我必须使用程序集,一个用于测试,另一个是具有我想要测试的方法的主程序集。
在我的测试程序集中,我有很多类,每个类都测试主程序集类的方法。总的来说,在所有类中,我有大约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"
答案 0 :(得分:1)
你必须告诉MSTest应该执行哪些测试。 这与OpenCover和ReportGenerator无关。他们只跟踪执行情况并创建报告。
您可以在此处找到MSTest的相关参数: https://msdn.microsoft.com/en-US/library/ms182489.aspx