私の統合テストでは、次のことを行います。
void testSave() {
def controller = new BookController()
controller.params.title = "Awesome Book"
controller.params.pages = 1000
controller.save()
// i want to check book data here
}
Book永続化されたコントローラーを取得して、それを確認するtitle == "Awesome Book"にはどうすればよいpages == 1000ですか? bookInstanceテストからコントローラーの変数に何らかの方法でアクセスできますか?
データベースにブートストラップデータが存在するためBook.get(1)、正しい結果が得られるとは限りません。Bookコントローラーはまったく関係のないページにリダイレクトするため、URL からBook取得できません。id私が考えることができる唯一のことは、次のようなことをすることです:
void testSave() {
def oldIdList = Book.list()*.id
// set up the parameters and call controller.save()
def insertedId = Book.list()*.id - oldIdList
// check Book.get(insertedId) properties
}
しかし、もっと良い方法があることを願っています...