(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
Dans le cadre de jeu, les tests utilisant une bibliothèque de tests appelée JUnit sont préparés en standard.
・ApplicationTest.java → Tests de comportement de l'application
・IntegrationTest.java → Un certain nombre de petits tests intégrés
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.");
}
}
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.*;
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);
}
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
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.");//②
}
});
}
}
É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