[JAVA] Spielen Sie den Framework-Lerntest

(Referenz) Bücher, die Sie studieren 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

Über den Test

Im Play Framework werden standardmäßig Tests mit einer Testbibliothek namens JUnit vorbereitet. スクリーンショット 2018-03-20 20.41.41.png

・ApplicationTest.java → Tests für das Anwendungsverhalten

・IntegrationTest.java → Eine Reihe kleiner Tests, die integriert sind

ApplicationTest.java-Code

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.");
    }
}

Minimal erforderliches Paket

Es werden mehrere Pakete importiert, aber die minimal erforderlichen Pakete sind wie folgt.

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

Über den Inhalt

simpleCheck-Methode

Der Code bestätigt, dass 1 + 1 2 ist, aber das ist nicht das Ziel. ** Definieren Sie hier eine Methode und überprüfen Sie den Wert mit assertThat! ** meint. Informationen zum Betrieb von assertThat (a) .isEqualTo (2) finden Sie im folgenden Artikel. (Referenz) https://qiita.com/naotawool/items/6512ecbe2fd006dacfd2

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

simpleCheck-Methode

Überprüfen des gerenderten Werts.

@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.");//③
    }

· Inhaltstyp → Gibt den Inhaltstyp als Zeichenfolge zurück

・ ContentAsString → Extrahieren Sie den Text des Inhalts aus dem Inhalt und geben Sie ihn als Zeichenfolge zurück

・ IsEqualTo ("text / html") → Überprüfen Sie, ob es sich um Text / HTML handelt. Was ist Text / HTML? (Referenz) http://wa3.i-3-i.info/word15789.html

Der Verarbeitungsablauf ist

① Rendern ↓ ② Überprüfen Sie, ob der Texttyp HTML ist ↓ ③ Überprüfen Sie den Inhalt

Code für 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.");//②
            }
        });
    }

}

Über den Inhalt

Schreiben Sie den Testprozess in die Methode invoke in der Testmethode! Die ausgeführte Anweisung lautet wie folgt

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

Das Argument der laufenden Methode ist · TestServer-Instanz ・ WebDriver angeben -Callback-Instanz für einen Rückruf, der die Verarbeitung nach der Ausführung durchführt Ich verstehe, dass das so etwas ist.

public void invoke(TestBrower browser){}

① Greifen Sie mit der goTo-Methode auf die Argument-URL zu (2) Holen Sie sich die Seitenquelle mit browser.pageSource (). Dadurch wird es mit der im TestBrowser-Browser angezeigten Zeichenfolge verglichen

Recommended Posts

Spielen Sie den Framework-Lerntest
Spielen Sie die Framework-Studie
Spielen Sie Framework, um das Übergeben von Werten zu studieren, und bilden Sie einen Helfer
Spielen Sie Framework2.5 (Java) -Tipps
spielen Framework persönliche Notizen
Play Framework Study Memo Database ①
Persönliche Notizen des First Play Framework
Einführung von Dozer to Play Framework
Validierungsfunktion in Play Framework
Prüfung
Play Framework Study Memo Database ②Lesen
Erstellung der Play Framework 2.6 (Java) -Entwicklungsumgebung
Spielen Sie das Framework Study Momo DB Update
Doppelte Übermittlung von Maßnahmen mit Play Framework
Prüfung
Prüfung
Prüfung
Testen Sie den Spring Framework Controller mit Junit
Spielen Sie geplante Framework-Jobs und Crontab
So installieren Sie Play Framework 2.6 für Mac
Authentifizierungsfunktion mit Play Framework [Zugriffsbeschränkungen]
Verwendung von BootStrap mit Play Framework
Spielen Sie die Framework 2.6 (Java) -Umgebungskonstruktion mit Eclipse
Authentifizierungsfunktion mit Play Framework [Registrierung und Authentifizierung]
Post to Slack von Play Framework 2.8 (Java)