Je prenais juste un congé lorsque j'étais en feu à cause de Java6 hors de support, et j'ai échappé à la difficulté. Je me demande ce qui est arrivé à JUnit3 ou à la classe de test de djUnit (cela semble fonctionner pour le moment).
C'est pourquoi j'ai essayé d'utiliser TestNG même maintenant.
Avec Maven, ajoutez les dépendances suivantes et vous êtes prêt à partir.
pom.xml (copie strictement interdite)
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.14.3</version>
<scope>test</scope>
</dependency>
J'ai à peine utilisé Maven lui-même, mais si je copie et réécris la description de pom.xml, cela provoquera un accident avec une forte probabilité. En fait, quand je l'ai copié et collé, la portée était erronée, et bien que cela ait fonctionné, testng-6.14.3.jar a été inclus dans l'archive à déployer. Assurez-vous d'utiliser l'auto-complétion IDE.
Il y a peut-être pas mal de gens qui l'ont utilisé mais qui ne savent pas comment écrire pom.xml.
Ceci est une classe de test dans JUnit. C'est assez similaire. Si vous avez utilisé JUnit4, vous ne serez pas confus.
LogoutBeanTest.java
public class LogoutBeanTest {
/**Classe testée*/
private LogoutBean logoutBean;
@Test
public void logout() throws Exception {
String result = logoutBean.logout();
//Vérification des résultats
assertEquals(logoutBean.getMessage(), "déconnecté");
assertEquals(result, "/logout/logout.jsf");
}
@BeforeMethod
public void setUpMethod() throws Exception {
logoutBean = new LogoutBean();
}
}
J'étais un peu inquiet que l'ordre des arguments de ʻassertEquals () `soit l'inverse de JUnit. Dans JUnit, le résultat attendu (attendu) vient en premier, mais dans TestNG, le résultat réel (réel) vient en premier. Il y avait pas mal de gens qui ont écrit le contraire dans JUnit, cependant ...
Vous pouvez gérer plusieurs classes de test en XML. Lors de l'exécution de TestNG à partir de la ligne de commande, il est pratique de pouvoir appeler plusieurs classes de test à la fois, mais je n'ai pas trouvé l'avantage dans l'EDI.
testng.xml
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="cc.cress.sample">
<test name="Login">
<classes>
<class name="cc.cress.sample.login.LoginBeanTest"/>
<class name="cc.cress.sample.util.PasswordEncrypterTest"/>
</classes>
</test>
<test name="Logout">
<classes>
<class name="cc.cress.sample.logout.LogoutBeanTest"/>
</classes>
</test>
</suite>
Après cela, j'ai présenté PowerMockito (objet simulé) et Jacoco (acquisition de couverture), mais c'est devenu assez volumineux, donc je suis là.
Recommended Posts