Service 単体テストでモックされた Service にプロパティを設定する方法がわかりません。setProperty
Grails 2からなくなったと思われるデマンドオブジェクトとメソッドを使ってみました。
@TestFor(SomeService)
@Mock([HelperService])
class SomeServiceTests {
void testDoSomething() {
def helperService = mockFor HelperService
// tried this, error in method being tested
helperService.setProperty('propToSet',['a','b'])
// tried this, error in test
helperService.demand.propToSet = ['a','b']
// tried this, error in method being tested
helperService.demand.getPropToSet() {['a','b']}
service.helperService = helperService
assert service.doSomething('aa') != null
}
}
これらのほとんどのエラーはNo such property: propToSet for class: grails.test.GrailsMock
、私がテストしているメソッド内からスローされ、それを必要とします。上記の 2 番目のオプションでは、実際にはハード エラーが発生します。モックされた Grails オブジェクトにプロパティを設定するにはどうすればよいですか?