[JAVA] Test d'étude de Play Framework

(Référence) Livres que vous étudiez https://www.amazon.co.jp/Play-Framework-2%E5%BE%B9%E5%BA%95%E5%85%A5%E9%96%80-Java%E3%81%A7%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B%E3%82%A2%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%ABWeb%E9%96%8B%E7%99%BA-%E6%B4%A5%E8%80%B6%E4%B9%83/dp/4798133922/ref=cm_cr_srp_d_product_top?ie=UTF8

À propos du test

Dans le cadre de jeu, les tests utilisant une bibliothèque de tests appelée JUnit sont préparés en standard. スクリーンショット 2018-03-20 20.41.41.png

・ApplicationTest.java → Tests de comportement de l'application

・IntegrationTest.java → Un certain nombre de petits tests intégrés

Code ApplicationTest.java

import com.fasterxml.jackson.databind.JsonNode;
import org.junit.*;

import play.mvc.*;
import play.test.*;
import play.data.DynamicForm;
import play.data.validation.ValidationError;
import play.data.validation.Constraints.RequiredValidator;
import play.i18n.Lang;
import play.libs.F;
import play.libs.F.*;

import static play.test.Helpers.*;
import static org.fest.assertions.Assertions.*;


/**
*
* Simple (JUnit) tests that can call all parts of a play app.
* If you are interested in mocking a whole application, see the wiki for more details.
*
*/
public class ApplicationTest {

    @Test
    public void simpleCheck() {
        int a = 1 + 1;
        assertThat(a).isEqualTo(2);
    }

    @Test
    public void renderTemplate() {
        Content html = views.html.index.render("Your new application is ready.");
        assertThat(contentType(html)).isEqualTo("text/html");
        assertThat(contentAsString(html)).contains("Your new application is ready.");
    }
}

Forfait minimum requis

Il existe plusieurs packages importés, mais les packages minimum requis sont les suivants.

import org.junit.*;
import play.mvc.*;
import static play.test.Helpers.*;
import static org.fest.assertions.Assertions.*;

À propos du contenu

méthode simpleCheck

Le code confirme que 1 + 1 vaut 2, mais ce n'est pas le but, ** définissez une méthode ici et utilisez assertThat pour vérifier la valeur! ** veux dire. Consultez l'article suivant pour le fonctionnement de assertThat (a) .isEqualTo (2). (Référence) https://qiita.com/naotawool/items/6512ecbe2fd006dacfd2

 @Test
    public void simpleCheck() {
        int a = 1 + 1;
        assertThat(a).isEqualTo(2);
    }

méthode simpleCheck

Vérification de la valeur rendue.

@Test
    public void renderTemplate() {
        Content html = views.html.index.render("Your new application is ready.");//①
        assertThat(contentType(html)).isEqualTo("text/html");//②
        assertThat(contentAsString(html)).contains("Your new application is ready.");//③
    }

・ ContentType → Renvoie le type de contenu sous forme de chaîne

・ ContentAsString → Extraire le texte du contenu du Contenu et le renvoyer sous forme de chaîne

・ IsEqualTo ("texte / html") → Vérifiez s'il s'agit de texte / html. Qu'est-ce que le texte / html (Référence) http://wa3.i-3-i.info/word15789.html

Le flux de traitement est

① Rendu ↓ ② Vérifiez si le type de texte est html ↓ ③ Vérifiez le contenu

Code pour IntegrationTest.java

import org.junit.*;

import play.mvc.*;
import play.test.*;
import play.libs.F.*;

import static play.test.Helpers.*;
import static org.fest.assertions.Assertions.*;

import static org.fluentlenium.core.filter.FilterConstructor.*;

public class IntegrationTest {

    /**
     * add your integration test here
     * in this example we just check if the welcome page is being shown
     */
    @Test
    public void test() {
        running(testServer(3333, fakeApplication(inMemoryDatabase())), HTMLUNIT, new Callback<TestBrowser>() {
            public void invoke(TestBrowser browser) {
                browser.goTo("http://localhost:3333");//①
                assertThat(browser.pageSource()).contains("Your new application is ready.");//②
            }
        });
    }

}

À propos du contenu

Écrivez le processus de test dans la méthode appelée invoke dans la méthode de test! L'instruction en cours d'exécution est la suivante

running(testServer(・ ・ ・),HTMLUNIT,new Callback(){・ ・ ・}) 

L'argument de la méthode en cours est · Instance TestServer ・ Spécification de WebDriver -Instance de rappel pour le rappel qui effectue le traitement post-exécution Je comprends que c'est quelque chose comme ça.

public void invoke(TestBrower browser){}

① Accédez à l'URL de l'argument avec la méthode goTo (2) Obtenez la source de la page avec browser.pageSource (). Cela le comparera à la chaîne affichée dans TestBrowser browser

Recommended Posts

Test d'étude de Play Framework
Etude Play Framework
Play Framework étudiant la transmission de valeur
Conseils pour Play Framework2.5 (Java)
jouer des notes personnelles de cadre
Base de données de mémos d'étude Play Framework ①
Notes personnelles de First Play Framework
Introduction de Dozer to Play Framework
Fonction de validation dans Play Framework
tester
Play Framework Study Memo Database ②Lire
Création de l'environnement de développement Play Framework 2.6 (Java)
Play Framework Study Momo DB Update
Double soumission de mesures avec Play Framework
tester
tester
tester
Contrôleur de cadre de test Spring avec Junit
Lancer les tâches planifiées et crontab
Comment installer Play Framework 2.6 pour Mac
Fonction d'authentification avec Play Framework [Restrictions d'accès]
Comment utiliser BootStrap avec Play Framework
Construction de l'environnement Play Framework 2.6 (Java) avec Eclipse
Fonction d'authentification avec Play Framework [Enregistrement et authentification]
Publier sur Slack à partir de Play Framework 2.8 (Java)