2017-06-01 2 views
0

J'ai des assemblys, un pour les tests et l'autre est l'assembly principal qui a les méthodes que je veux tester.Exécuter tous les tests mais dans le rapport seulement il y a les mehtods que je veux exécuter

Dans mon ensemble de test j'ai beaucoup de classes, chaque classe teste les méthodes de la classe de l'assembly principal. Au total, dans toutes les classes, j'ai environ 300 méthodes de test, mais dans MyClass01Test je n'ai que 30 méthodes de test. Je voudrais exécuter seulement les méthodes dans cette classe et pas tous les tests.

J'essaie d'utiliser ce filtre:

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

Le problème est qu'il exécute tous les tests, non seulement les tests en classe MyMainClassTest dans mon montage d'essai. Cependant, dans le rapport que je reçois avec reportgenerator, j'obtiens seulement les méthodes de MyClass01, c'est correct.

La commande complète que je l'utilise est la suivante:

"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" 

Répondre

1

Vous devez dire MSTest qui teste il doit exécuter. Cela n'a rien à voir avec OpenCover et ReportGenerator. Ils suivent uniquement l'exécution et créent un rapport.

Vous pouvez trouver les paramètres pertinents pour MSTest ici: https://msdn.microsoft.com/en-US/library/ms182489.aspx

+0

Vous pouvez également utiliser le commutateur '/ noisolation' avec MSTest. –