${frontPost.title}
${frontPost.content.nl2br()}
前の記事の最後のエラーは、アサーションassertEquals(1, Post.count());のエラーが原因で、取得されたPostの数は1ではありませんでした。テストを実行する前に、テーブルにデータがありました
@Before
public void setup() {
Fixtures.deleteAll();
}
1. 複雑なテストケースを書く
Edit/test/ の前に、次のメソッドを追加してデータをクリアします。 data.yml
# User(bob ):
# email: 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());
// ユーザーとして接続してみます
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"));
// ボブの投稿をすべて検索します
List
.fetch() ;
assertEquals(2, bobPosts.size());
// ボブの投稿に関連するすべてのコメントを検索します
List
"bob@gmail.com ").fetch();
assertEquals(3, bobComments.size());
// 最新の投稿を検索
PostfrontPost = Post.find("order by postedAt desc").first();
assertNotNull (frontPost);
assertEquals("モデルレイヤーについて",frontPost.title);
// この投稿に 2 つのコメントがあることを確認します
assertEquals(2,frontPost.comments.size ());
// 新しいコメントを投稿します
frontPost.addComment("ジム", "こんにちは");
assertEquals(3,frontPost.comments.size());
assertEquals(4, Comment.count( ));
}
data.ymlの使用方法については、http://play-framework.herokuapp.com/zh/yamlを参照してください
2.データの作成を開始します。アプリケーションの最初のページ。このページには、最近の投稿と古い記事のリストが表示されます。
最初の画面を開発する前に、必要なことが 1 つあります。テストデータを作成します。ブログにデフォルト データを挿入する 1 つの方法は、アプリケーションのロード時にファイルをロードすることです。これを行うには、ブートストラップ ジョブを作成します。
Bootstrap.java
パッケージモデルを作成します;
import play.*;
import play.jobs.*;
import play.test.*;
@OnapplicationStart
public class Bootstrap extends Job {
public void doJob( ) {
// データベースが空かどうかを確認します
if (User.count() == 0) {
Fixtures.loadModels("initial-data.yml");
}
}
}
initial-data .yml は、data.yml のコンテンツを使用して、アプリケーションの起動時に実行されるデフォルトのデータ
@OnApplicationStart 識別メソッドを作成します
3. ホームページを開発します
Application.java の Index() メソッドを変更します
public static void index () {
PostfrontPost = Post.find("order by postedAt desc").first(); List
.fetch( 10);
render(frontPost, oldPosts);
}
Application/index.html を変更する
#{extends 'main.html' /}
#{set title:'Home' /}
#{if frontPost}
4. サイトを開きます
上記は、APP を完全に実装するための PlayFramework の内容です (4) 関連コンテンツについては、PHP 中国語 Web サイト (www.php.ん)!
${oldPost.comments.size()?:'no'}
comment${oldPost.comments.size().pluralize()}
#{if oldPost.comments}
- latest by ${oldPost.comments[0].author}
#{/if}