Je me demandais comment exécuter un test JUnit4 dans un programme Java. Fondamentalement - en fonction de certaines conditions pendant l'exécution, j'ai besoin de décider quel coureur d'essai à utiliser. En utilisant Junit3 je pourrais remplacer la méthode runTest de la classe TestCase - mais dans les tests JUnit4 ne pas étendre la classe TestCase donc je n'ai rien à redéfinir ... Y a-t-il une méthode à implémenter ... ou sth else ...Exécution d'un test JUnit4 - à partir d'un programme Java
1
A
Répondre
0
Voici quelques exemples de code pour vous:
public void checkTests() throws org.junit.runners.model.InitializationError {
checkTestClass((Class<?>) MyTestClss.class);
}
private void checkTestClass(Class<?> theClass) throws InitializationError {
final RunNotifier notifier = new RunNotifier();
notifier.addListener(new RunListener() {
@Override
public void testFailure(Failure failure) throws Exception {
Assert.fail(failure.getMessage());
}
});
final Runner runner = new BlockJUnit4ClassRunner(theClass);
runner.run(notifier);
}
0
Le problème que j'ai est que je dois exécuter une méthode (qui ne peut pas être statique) avant chaque test
Si ce non méthode statique est quelque chose lié à la pré-conditionnement du cas de test, vous pouvez réaliser cela en annotant une méthode en utilisant @Before
dans votre classe de test. Jetez un oeil à la documentation Junit4 pour le comportement de @Before
.
Sinon, pour déclencher simplement une classe de test JUnit, vous pouvez utiliser le code suivant:
Runner r =
try {
r = new BlockJUnit4ClassRunner(Class.forName(testClass));
} catch (ClassNotFoundException | InitializationError e) { // FIX if necessary: JDK 7 syntax
// handle
}
JUnitCore c = new JUnitCore();
c.run(Request.runner(r));
espoir qui aide.
Questions connexes
- 1. Exécution d'un test junit4 avec junitperf
- 2. junit4 runner test
- 3. Exécution du programme Java à partir de Python
- 4. Exécution d'un programme à partir du code Java
- 5. Exécution d'un programme Java
- 6. junit4 fonctions
- 7. Exécution d'autres programmes à partir de Java
- 8. Le DUND d'Android prend-il en charge DUN DT (alias Dial Up client alias Data Terminal aka "dund --connect")
- 9. Exécution d'un programme à partir d'un fichier dans Eclipse
- 10. Exécution d'un programme Java dans Grails
- 11. Exécution d'un test JUnit à partir de la console Groovy
- 12. Exécution de C++ à partir d'un problème Java
- 13. Exécution d'un programme C++ à partir de Django Framework
- 14. Exécution d'un autre programme à partir du projet C# setup
- 15. Exécution d'un programme/script à partir de QMake
- 16. Exécution de BatchFile à partir du programme C#
- 17. Comment configurer Groovy + Eclipse + Junit4?
- 18. Exécution d'un programme Java 3D à partir de la ligne de commande
- 19. Exécution d'un programme Java à partir de la ligne de commande
- 20. Exécution du programme Java à partir de la ligne de commande Linux
- 21. Compilation et exécution d'un programme C++ à partir d'une application Java
- 22. junit4 dans Eclipse
- 23. Exécution d'un programme Java non-GUI en ligne
- 24. Test fonctionnel d'un programme java tiers 3
- 25. Exécution de classes de test JUnit à partir d'une autre classe de test JUnit
- 26. Eclipse - Compilation et exécution du programme
- 27. Exécution du test PTK
- 28. Exécution d'un test de test unittest OO
- 29. gérer le fil avec junit4
- 30. comment gérer l'exception avec JUnit4?
Cela semble prometteur. Le problème que j'ai est que je dois exécuter une méthode (qui ne peut pas être statique) avant chaque cas de test ... Par exemple en utilisant JUnitCore runner. Quel est le meilleur moyen d'y parvenir? – markovuksanovic