サービスのメソッドを呼び出し、リクエストとレスポンスを渡すコントローラーを持つ grails 2.1 アプリがあります。
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 構文の有効な使用法ですが、なぜ最初のものは失敗し、2 つ目は失敗するのでしょうか?
乾杯、