我想运行服务的单元测试。我想测试的方法包括一些log.debug()
声明。虽然log
属性在运行时注入的,它似乎并没有在测试中被注入,所以它抛出groovy.lang.MissingPropertyException: No such property: log for class:
Grails单元测试服务MissingProperty'log'
这是我的单元测试类:
@TestFor(ServiceUnderTest)
@Mock([ServiceUnderTest])
class ServiceUnderTestTests {
def test() {
def mock = [ mockedProp: [...] ] as ServiceUnderTest
def info = mock.doOperation()
assert ....
}
}
我也尝试添加MockUtils.mockLogging(ServiceUnderTest)
但没有成功。
如何在单元测试中正确注入我的服务类中的日志属性?
谢谢你的工作。 Groovy非常强大,在特定问题上使用正确的方式很难...... – matcauthon
是的,幕后发生了很多事情。有时候,就像在这个例子中,你需要知道一些这些东西:-) –