${frontPost.title}
${frontPost.content.nl2br()}
上一篇最後出現的錯誤是因為斷言 assertEquals(1, Post.count()); 出錯,取到的Post的數量不是1,運行Test之前,表中有資料
可以添加以下方法,運行Test前清空資料
@Before
public void setup() {
Fixtures.deleteAll();
}
1.編寫複雜的測試用例
1.寫複雜的測試用例 ):
# email: bob@Gmail.com
# passWord: secret
# fullname: Bob
內容替換為 http://play-framework.herokuapp.com/zh/files/data.yo新增測試案例
@Test
public void fullTest() {Fixtures.loadModels("data.yml");
// Count things
asserasserEquals(2, Userasser); .count());
assertEquals(3, Comment.count());
// Try to connect as users
assertNotNull(User.connect("bob@gmail.com", "secret"));
assertNull (User.connect("jeff@gmail.com", "secret"));
assertNull(User.connect("jeff@gmail.com", "badpassword"));
assertNull(User.connect("tom@ gmail.com", "secret"));
// Find all of Bob's posts
List
.fetch() ;
assertEquals(2, bobPosts.size());
// Find all comments related to Bob's posts
List
",
. ").fetch();
assertEquals(3, bobComments.size());
// Find the most recent post
Post frontPost = Post.find("order bystedAt desc").first();
potNot deassersc").first();
tNot deasser (frontPost);
assertEquals("About the model layer", frontPost.title);
// Check that this post has two comments
assertEquals(2, frontPost.comments.size(s); new comment
frontPost.addComment("Jim", "Hello guys");
assertEquals(3, frontPost.comments.size());
assertEquals(4, Comment.count());
}關於如何使用data.yml,可以參考 http://play-framework.herokuapp.com/zh/yaml
2.初始化資料
開始創建應用程式的第一個頁面。這個頁面就會顯示最近的帖子,以及舊的文章的列表。
在開發第一個螢幕之前我們需要一件事。建立測試數據。將預設資料注入到部落格的一個方法是載入文件在應用程式的載入時間。要做到這一點,我們將創建一個引導工作。
建立Bootstrap.java
package models;
建立Bootstrap.javapackage models;建立Bootstrap.java
package models;
import play.*;
import play.jobs.*;import play.test.*;
@Onbs.*;
import play.test.*;
@OncolicationStartupn public詞) {
// Check if the database is empty
if (User.count() == 0) {
Fixtures.loadModels("initial-data.yml");
}
in }
}
.yml 使用data.yml的內容,建立的預設資料
@OnApplicationStart 識別方法在應用程式啟動時執行
3.開發首頁
修改Application.java 的index()方法() {
Post frontPost = Post.find("order by postedAt desc").first(); List
render(frontPost, olderPosts);
}
修改Application/index.html
#{extends 'main.html' /}
#{set title:'Home' /}
#{if frontPost}
${oldPost.comments.size()?:'no'}
comment${oldPost.comments.size().pluralize()}
#{if oldPost.comments}
- latest by ${oldPost.comments[0].author}
#{/if}