${frontPost.title}
${frontPost.content.nl2br()}
Der letzte Fehler im vorherigen Artikel war auf einen Fehler in der Behauptung „assertEquals(1, Post.count());“ zurückzuführen und die Anzahl der erhaltenen Beiträge war nicht 1. Vor der Ausführung des Tests befanden sich Daten in der Tabelle
OK Fügen Sie die folgende Methode hinzu, um die Daten zu löschen, bevor Sie Test ausführen
@Before
public void setup() {
Fixtures.deleteAll();
}
1. Komplexe Testfälle schreiben
Edit/test/data.yml
# Benutzer(bob):
# E-Mail: bob@Gmail.com
# passWord: Secret
# vollständiger Name: Bob
Inhalt wird durch http://play-framework.herokuapp.com/zh/files/data ersetzt. yml
Testfall hinzufügen
@Test
public void fullTest() {
Fixtures.loadModels("data.yml");
// Dinge zählen
assuranceEquals(2, User.count());
assuranceEquals(3, Post.count());
assuranceEquals(3, Comment.count());
// Versuchen Sie, eine Verbindung als Benutzer herzustellen
AssertNotNull(User.connect("bob@gmail.com", "secret"));
AssertNotNull(User.connect("jeff@gmail.com ", "secret")); AssertNull(User.connect("jeff@gmail.com", "badpassword"));
AssertNull(User.connect("tom@gmail.com", "secret "));
// Alle Beiträge von Bob finden
List
.fetch( );
assuranceEquals(2, bobPosts.size());
// Alle Kommentare zu Bobs Beiträgen finden
List
"bob@gmail .com").fetch();
affirmEquals(3, bobComments.size());
// Den neuesten Beitrag finden
Post frontPost = Post.find("order by PostedAt desc").first();
AssertNotNull(frontPost);
AssertEquals("About the Model Layer", FrontPost.title);
// Überprüfen Sie, ob dieser Beitrag zwei Kommentare enthält
AssertEquals(2, frontPost.comments.size());
// Einen neuen Kommentar posten
frontPost.addComment("Jim", "Hallo Leute" );
AssertEquals(3, frontPost.comments.size());
AssertEquals(4, Comment.count());
}
import play.*;
import play.jobs.*;
import play.test.*;
@OnapplicationStart
public class Bootstrap erweitert Job {
public void doJob() {
// Überprüfen Sie, ob die Datenbank leer ist
if (User.count() == 0 ) {
Fixtures.loadModels("initial-data.yml");
}
}
}
Post frontPost = Post.find("order by postedAt desc").first();
List
.fetch(10);
render(frontPost, oldPosts);
}
Application/index.html ändern
#{extends 'main.html' /}
#{set title:'Home' /}
#{if frontPost}
4. Öffnen Sie die Website
Das Obige ist der Inhalt von PlayFramework zur vollständigen Implementierung einer APP (IV). Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!
${oldPost.comments.size()?:'no'}
comment${oldPost.comments.size().pluralize()}
#{if oldPost.comments}
- latest by ${oldPost.comments[0].author}
#{/if}