${frontPost.title}
${frontPost.content.nl2br()}
이전 기사의 마지막 오류는 AssertEquals(1, Post.count()); 오류로 인해 발생했으며 획득한 게시물 수가 1이 아닙니다. 테스트를 실행하기 전에 테이블에 데이터가 있었습니다.
OK Test를 실행하기 전에 데이터를 지우려면 다음 메서드를 추가하세요
@Before
public void setup() {
Fixtures.deleteAll();
}
1. 복잡한 테스트 케이스 작성
Edit/test/data.yml
# 사용자(bob):
# 이메일: bob@Gmail.com
# passWord: secret
# fullname: Bob
콘텐츠는 http://play-framework.herokuapp.com/zh/files/data로 대체됩니다. yml
테스트 사례 추가
@Test
public void fullTest() {
Fixtures.loadModels("data.yml");
// 개수 계산
assertEquals(2, User.count());
assertEquals(3, Post.count());
assertEquals(3, Comment.count());
// 사용자로 연결 시도
ertNotNull(User.connect("bob@gmail.com", "secret"));
assertNotNull(User.connect("jeff@gmail.com) ", "비밀"));ertNull(User.connect("jeff@gmail.com", "잘못된 비밀번호"));
assertNull(User.connect("tom@gmail.com", "secret) "));
// Bob의 게시물 전체 찾기
List
.fetch( );
주장Equals(2, bobPosts.size());
// Bob의 게시물과 관련된 모든 댓글을 찾습니다.
List
"bob@gmail .com").fetch();
assertEquals(3, bobComments.size());
//가장 최근 게시물 찾기
Post frontPost = Post.find("order by listedAt desc").first();
assertNotNull(frontPost);
assertEquals("모델 레이어 정보", frontPost.title);
// 이 게시물에 댓글이 두 개 있는지 확인하세요
ertEquals(2, frontPost.comments.size());
// 새 댓글 게시
frontPost.addComment("Jim", "Hello guys" );
주장Equals(3, frontPost.comments.size());
주장Equals(4, Comment.count());
}
play.* 가져오기;
play.jobs.* 가져오기;
play.test.* 가져오기;
@OnapplicationStart
public class Bootstrap extends Job {
public void doJob() {
// 데이터베이스가 비어 있는지 확인
if (User.count() == 0 ) {
Fixtures.loadModels("initial-data.yml");
}
}
}
Post frontPost = Post.find("order by listedAt desc").first();
List
.fetch(10);
render(frontPost, oldPosts);
}
애플리케이션/index.html 수정
#{extends 'main.html' /}
#{set title:'Home' /}
#{if frontPost}
4. 사이트를 엽니다
위 내용은 APP(IV)을 완벽하게 구현하기 위한 PlayFramework의 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!
${oldPost.comments.size()?:'no'}
comment${oldPost.comments.size().pluralize()}
#{if oldPost.comments}
- latest by ${oldPost.comments[0].author}
#{/if}