2
我有一個Grails 2.1應用程序,其具有控制器,該控制器上的服務調用的方法,傳入的請求和響應:使用具有GMock一個模擬服務測試一個Grails控制器(0.8.0)
class FooController {
def myService
def anAction() {
response.setContentType('text/xml')
myservice.service(request,response)
}
我想單元測試這個方法。我想這樣做使用GMock(0.8.0版本),所以這是我的嘗試:
def testAnAction() {
controller.myService = mock() {
service(request,response).returns(true)
}
play {
assertTrue controller.anAction()
}
}
現在這個失敗說,它失敗的請求的期望。
Missing property expectation for 'request' on 'Mock for MyService'
但是,如果我寫我的測試是這樣的:
def testAnAction() {
def mockService = mock()
mockService.service(request,response).returns(true)
controller.myService = mockService
play {
assertTrue controller.anAction()
}
}
測試將通過罰款。據我所知,它們都是GMock語法的有效用法,那麼爲什麼第一個失敗,第二個失敗呢?
乾杯,