${frontPost.title}
${frontPost.content.nl2br()}
Maison >Java >javaDidacticiel >PlayFramework implémente complètement une APP (4)
La dernière erreur de l'article précédent était due à une erreur dans l'assertion assertEquals(1, Post.count()); et le nombre de Posts obtenus n'était pas 1. Avant de lancer le Test, il y avait des données dans le tableau
OK Ajoutez la méthode suivante pour effacer les données avant d'exécuter Test
@Before
public void setup() {
Luminaires.deleteAll();
}
1. Écrivez des cas de test complexes
Edit/test/data.yml
# Utilisateur(bob):
# email : bob@Gmail.com
# mot de passe : secret
# nom complet : Bob
le contenu est remplacé par http://play-framework.herokuapp.com/zh/files/data. yml
Ajouter un cas de test
@Test
public void fullTest() {
Luminaires.loadModels("data.yml");
// Compter les choses
assertEquals(2, User.count());
assertEquals(3, Post.count());
assertEquals(3, Comment.count());
// Essayez de vous connecter en tant qu'utilisateur
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 "));
// Rechercher tous les messages de Bob
List
.fetch( );
assertEquals(2, bobPosts.size());
// Rechercher tous les commentaires liés aux publications de Bob
List
"bob@gmail .com").fetch();
assertEquals(3, bobComments.size());
// Rechercher le message le plus récent
Post frontPost = Post.find("order bypostedAt desc").first();
assertNotNull(frontPost);
assertEquals("À propos de la couche de modèle", frontPost.title);
// Vérifiez que ce message comporte deux commentaires
assertEquals(2, frontPost.comments.size());
// Postez un nouveau commentaire
frontPost.addComment("Jim", "Bonjour les gars" );
assertEquals(3, frontPost.comments.size());
assertEquals(4, Comment.count());
}
importer play.*;
importer play.jobs.*;
importer play.test.*;
@OnapplicationStart
public class Bootstrap extends Job {
public void doJob() {
// Vérifiez si la base de données est vide
if (User.count() == 0 ) {
Luminaires.loadModels("initial-data.yml");
}
}
}
Post frontPost = Post.find("order by wantedAt desc").first();
List
.fetch(10);
render(frontPost, OldPosts);
}
Modifier Application/index.html
#{extends 'main.html' /}
#{set title:'Home' /}
#{if frontPost}
4. Ouvrez le site
Ce qui précède est le contenu de PlayFramework pour implémenter complètement une APP (IV). Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !
${oldPost.comments.size()?:'no'}
comment${oldPost.comments.size().pluralize()}
#{if oldPost.comments}
- latest by ${oldPost.comments[0].author}
#{/if}