[JAVA] J'ai essayé d'utiliser TestNG

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.

Préparation

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.

Faire un cas de test

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 ...

Créer une suite de tests

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

J'ai essayé d'utiliser TestNG
J'ai essayé d'utiliser Gson
J'ai essayé d'utiliser Galasa
J'ai essayé d'utiliser azure cloud-init
J'ai essayé d'utiliser Apache Wicket
J'ai essayé d'utiliser Java REPL
J'ai essayé d'utiliser anakia + Jing maintenant
J'ai essayé d'utiliser Spring + Mybatis + DbUnit
J'ai essayé d'utiliser JOOQ avec Gradle
J'ai essayé d'utiliser l'API Java8 Stream
J'ai essayé d'utiliser JWT en Java
[Android] J'ai essayé d'utiliser la disposition du coordinateur.
J'ai essayé d'utiliser le conteneur Pari gp
J'ai essayé d'utiliser WebAssembly Stadio (version 2018/4/17)
J'ai essayé d'utiliser le mémo Java LocalDate
J'ai essayé d'utiliser Google HttpClient de Java
J'ai essayé Spring.
J'ai essayé de mettre Tomcat
J'ai essayé youtubeDataApi.
J'ai essayé de refactoriser ①
J'ai essayé FizzBuzz.
J'ai essayé JHipster 5.1
J'ai essayé d'utiliser l'API Elasticsearch en Java
J'ai essayé d'utiliser Realm avec Swift UI
J'ai essayé d'utiliser l'outil de diagnostic Java Arthas
J'ai essayé d'utiliser UICollectionViewListCell ajouté à partir de Xcode12.
J'ai essayé d'utiliser Scalar DL avec Docker
J'ai essayé d'utiliser OnlineConverter avec SpringBoot + JODConverter
C'est nouveau, mais j'ai essayé d'utiliser Groonga
J'ai essayé d'utiliser OpenCV avec Java + Tomcat
[J'ai essayé] Tutoriel de printemps
J'ai essayé d'utiliser Junit avec Mac VScode Maven
[Pour les débutants] J'ai essayé d'utiliser DBUnit avec Eclipse
J'ai essayé d'exécuter Autoware
[Pour les débutants] J'ai essayé d'utiliser JUnit 5 avec Eclipse
[Android] J'ai quitté SQLite et essayé d'utiliser Realm
J'ai essayé QUARKUS immédiatement
J'ai fait un blackjack avec Ruby (j'ai essayé d'utiliser minitest)
J'ai essayé Spring Batch
[API] J'ai essayé d'utiliser l'API de recherche par code postal
J'ai essayé node-jt400 (Programmes)
J'ai essayé node-jt400 (exécuter)
J'ai essayé d'implémenter un serveur en utilisant Netty
J'ai essayé d'utiliser le profileur d'IntelliJ IDEA
J'ai essayé node-jt400 (Transactions)
J'ai essayé d'utiliser une connexion à une base de données dans le développement Android
J'ai essayé d'utiliser la fonction Server Push de Servlet 4.0
J'ai essayé d'utiliser le service KMS (Key Management Service) d'Alibaba Cloud
J'ai essayé de faire fonctionner SQS en utilisant AWS Java SDK
J'ai essayé d'utiliser la boîte à outils de migration pour les fichiers binaires d'application
J'ai essayé d'utiliser Log4j2 sur un serveur Java EE
J'ai essayé d'utiliser YOLO v4 sur Ubuntu et ROS
J'ai essayé d'utiliser l'instruction Extended for en Java
J'ai essayé de gratter un graphique boursier en utilisant Java (Jsoup)
J'ai essayé node-jt400 (Construction de l'environnement)
J'ai essayé DI avec Ruby