我有一個簡單的Grails控制器:的Grails:單元測試控制器法域類
class AuthorController {
def index(){
def authors = Author.findByFirstName("Albert")
render (view: "author-page", model: ["authors":authors])
}
}
在這裏,作者是映射到表中的SQL數據庫域類。
我想寫這樣爲它的單元測試:
import grails.test.mixin.Mock
@Mock(Author)
class AuthorControllerSpec extends Specification {
void "when index is called, authorPage view is rendered"() {
when:
controller.index()
then:
view == "/author-page"
}
}
但是當我運行這個測試,我不斷收到java.lang.IllegalStateException:在類的方法[COM .mypackage.Author]在Grails應用程序之外使用。如果在使用模擬API或引導Grails正確測試的上下文中運行。
有人能告訴我如何正確測試我的行爲嗎?我無法嘲笑Author.findByFirstName()方法。
我正在使用Grails 2.4.2
謝謝。
謝謝。我在頂部使用@TestFor,仍然不起作用。括號不在那裏。感謝您的支持。我已經刪除它。 – Stealth