我想運行服務的單元測試。我想測試的方法包括一些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
是的,幕後發生了很多事情。有時候,就像在這個例子中,你需要知道一些這些東西:-) –