0
votes

Puis-je forcer le débogueur Junit à démarrer l'exécution du débogage par une méthode de cas de test personnalisée à l'aide de l'IDE Eclipse?

J'ai une classe de test contenant 3 méthodes de test comme l'exemple ci-dessous

public class SampleTest {
    @Test
    public void testAdd() {
        // logic of testing ADD
    }
    @Test
    public void testUpdate() {
        // logic of testing UPDATE
    }
    @Test
    public void testDelete() {
        // logic of testing Delete
    }
}

Je veux déboguer UNIQUEMENT la deuxième méthode testUpdate ()
SANS démarrer l'exécution par aucun autre cas de test testAdd () / testDelete ()

Quand je mets des points d'arrêt dans tout méthodes d'essai
J'ai trouvé que
Ordre d'exécution non accordé et, dans certains cas, les méthodes testAdd () / testDelete () s'exécutent avant testUpdate () code >
Ces cas font perdre du temps car, je dois déboguer UNIQUEMENT method2 = testUpdate () ,
Alors pourquoi je devrais attendre que la méthode1 ou la méthode3 soit exécutée, mais elles sont exécutées rapidement

Pour résumer
Puis-je forcer le débogueur Junit à démarrer l'exécution par une méthode de cas de test personnalisée à l'aide de l'IDE Eclipse?


0 commentaires

4 Réponses :


1
votes

Vous pouvez utiliser l'ordre d'exécution des tests:

https: / /github.com/junit-team/junit4/wiki/test-execution-order

autre moyen:

@FixMethodOrder(MethodSorters.NAME_ASCENDING)
@FixMethodOrder(MethodSorters.JVM)
@FixMethodOrder(MethodSorters.DEFAULT)

en choisissant pour exemple pour utiliser NAME_ASCENDING vous devez changer le nom du deuxième test pour qu'il vienne par ordre alphabétique avant les autres tests


1 commentaires

C'est bien, mais dans la plupart des cas, nous n'avons pas d'importance sur l'ordre des méthodes de test unitaire



1
votes

avez-vous essayé de sélectionner la méthode et cliquez sur déboguer? ou avez-vous essayé d'exécuter des tests entiers et de sélectionner plus tard votre méthode, cliquez avec le bouton droit de la souris et déboguer?


1 commentaires

Oui, mais pas de chance



1
votes

Méthode préférée : tout IDE moderne a la possibilité d'exécuter et de déboguer un test spécifique. Reportez-vous à un manuel de votre IDE.

Dirty way : ignorez les autres cas de test sauf un:

public class SampleTest {
    @Test
    @Ignore
    public void testAdd() {
        // logic of testing ADD
    }

    @Test
    public void testUpdate() {
        // logic of testing UPDATE
    }

    @Test
    @Ignore
    public void testDelete() {
        // logic of testing Delete
    }
}


2 commentaires

Sympa !, pouvez-vous montrer comment nous pouvons faire cela en utilisant Eclipse IDE?


Je n'utilise pas Eclipse mais semble répondre ici stackoverflow.com/questions/646307/... peut vous aider.



-1
votes

Merci beaucoup au commentaire @Dmytro.
La solution sera

  1. Dans la vue Package Explorer ou Outline
  2. Dépliez la classe de test qui contient les méthodes de test.
  3. Faites un clic droit sur la méthode souhaitée pour Déboguer
  4. Sélectionnez Déboguer en tant que => JUnit Test

2 commentaires

Oui c'est en quelque sorte ce que je t'ai répondu


@KhalilM Non cher, c'est différent, vous avez mentionné que sélectionner la méthode et cliquer sur déboguer mais la bonne façon de sélectionner la méthode Dans l'explorateur de packages ou la vue Outline ... quand même Merci!