web-dev-qa-db-fra.com

Exclure les tests d'être exécutés dans IntellIJ

N'est-ce pas une option pour exclure certains tests dans IntelliJ IDEA Ultimate? Je veux exécuter des tests unitaires dans IntelliJ mais exclure les tests d'intégration. Je nomme les tests d'intégration avec *IT.Java pour que le plugin de sécurité intégrée Maven puisse les exécuter séparément à partir des tests unitaires.

61
user626912

Dans la configuration JUnit Run, définissez Test kind à Motif , spécifiez l'expression régulière suivante comme motif:

^(?!.*IT$).*$

Il correspond au nom de la classe, vous n'avez donc pas besoin de faire correspondre .Java extension. L'expression régulière ne correspondra pas si le nom de classe se termine par IT en utilisant lookahead négatif .

ignore tests ending with IT

105
CrazyCoder

Avec JUnit5, vous pouvez désormais baliser vos tests, par exemple: @Tag("integration-test").

En outre, étant donné qu'IntelliJ prend désormais en charge JUnit5, vous pouvez ensuite créer un Configuration de test JUnit et sélectionner Type de test: Tags (JUnit5).

Pour exclure disons "test d'intégration", il vous suffit de spécifier comme balises: !integration-test, et IntelliJ exécutera tous vos tests JUnit5 sauf ceux marqués avec integration-test.

5
João Pinho

Je les diviserais en ce qu'ils sont dans différents packages. Ils font des choses différentes après tout. Vous pouvez ensuite exécuter vos tests par package. This link details how to do this.

3
RNJ