私の統合テストでは、次のことを行います。
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
}
しかし、もっと良い方法があることを願っています...