我似乎无法弄清楚如何在服务单元测试中设置模拟服务的属性。我尝试过使用需求对象和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
从我正在测试的需要它的方法中抛出的。上面的第二个选项实际上给出了一个硬错误。如何在模拟的 Grails 对象中设置属性?