0

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

在我的测试程序集中,我有很多类,每个类都测试主程序集类的方法。总的来说,在所有类中,我有大约 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"
4

1 回答 1

1

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

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

于 2017-06-02T09:42:22.630 回答