2017-03-19 6 views
1

J'ai une application de démarrage au printemps qui comprend des tests JUnit et je construis en utilisant maven. J'ai organisé par des tests JUnit dans une suite en utilisant la notation @Suite.SuiteClasses.mvn paquet exécute plus de tests localement que dans le bambou

Mon problème/question est pourquoi quand je lance mvn package sur place, je vois que les tests unitaires référencés par la suite sont exécutées mais ils sont également exécutées comme si elles ne faisaient pas partie de la suite, tout en construisant le code Bambou, en utilisant à nouveau mvn package n'exécute les tests qu'une seule fois (c'est-à-dire en tant que membres de la suite).

Répondre

1

Utilisez-vous les mêmes profils/paramètres/commandes maven sur bambou et localement?

Je pense que ce qui se passe est que lors de l'exécution du package phase le surefire-plugin commence à exécuter tous les tests. Il peut y avoir un problème de nommage avec le includes le plugin surefire utilise par défaut.

Si vous exécutez l'objectif maven avec -X, vous devriez voir la configuration surefire-plugin utilisée pour identifier les tests. Cela ne devrait correspondre à vos suites - pas les suites et les tests eux-mêmes.

+1

merci de votre réponse @wemu. J'ai réussi à comprendre, en examinant plus attentivement les bûches de bambou. Je me suis rendu compte que tout le même nombre de cas de tests ont couru dans le bambou comme quand je le courais localement. Cependant, lors de l'analyse des logs surefire (xml), bamboo ne compte pas les tests qui ont été exécutés deux fois (il les considère comme un). Donc la différence. Maintenant, j'ai besoin de savoir comment exécuter uniquement la suite et non les cas de test individuels (configuration surefire). – Lefteris

+0

Je pense que vous avez seulement besoin de changer les includes pour le plugin surefire pour correspondre seulement aux fichiers de la suite. Cela devrait faire. – wemu

+0

Merci wemu. Cela a fait l'affaire. J'ai exclu * Test.java de la configuration de surefile-plugin. Les fichiers Suite sont nommés * Tests.java, ils sont donc inclus. – Lefteris