2010-06-25 6 views
0

Je me demandais comment différent surefire est lors de l'exécution de tâches TestNG que TestNG fourmi? La raison en est que je vois une différence de comportement cohérente lorsque j'essaie d'exécuter un test TestNG qui étend une base de test JUnit (ceci est une solution pour exécuter des tests JBehave dans TestNG décrits ici: http://jbehave.org/documentation/faq/). Surefire détecte incorrectement mon test en tant que test JUnit (probablement parce que sa base est TestCase), alors que les tâches Ant fonctionnent parfaitement. Quelqu'un peut-il donner un aperçu de la façon dont TestNG gère les deux cas?TestNG tâches Ant vs Surefire

Le test se présente comme suit:

public class YourScenario extends JUnitScenario { 

@org.testng.annotations.Test 
public void runScenario() throws Throwable { 
    super.runScenario(); 
} 
} 

Répondre

3

La réponse courte est que la tâche de fourmi fait partie de la distribution TestNG, elle fait donc partie de nos tests et je fais toujours qu'il reste à jour avec TestNG. Surefire est développé dans le cadre du projet Maven, et en tant que tel, il est parfois en retard (et tout comme vous, j'ai parfois rencontré des bugs lors de mes tests avec Surefire qui ne se produisaient pas depuis la ligne de commande/ant/Eclipse).

Je vais porter cette question à l'attention de l'équipe Maven, peut-être qu'ils auront plus à dire.

+0

Merci Cedric .. – shipmaster

1

Cela semble être un bug connu: http://jira.codehaus.org/browse/SUREFIRE-575.

Avez-vous essayé d'utiliser une définition de suite XML TestNG au lieu de la détection automatique de cas de test de Surefire?

+0

Cela peut fonctionner mais malheureusement ne m'aidera pas, puisque je passe le filtre pour les tests à exécuter, par exemple. (**/* Test) à partir d'un script externe. Donc coller avec les tâches ant est plus simple que d'exécuter un script pour modifier ce xml avec l'entrée de filtre. – shipmaster

Questions connexes