我最近升級到grails 3.3.1,並意識到grails.test.mixin.Mock
已被拉到單獨的項目,這是爲了向後兼容,根據我的瞭解org.grails:grails-test-mixins:3.3.0
。如何在Grails 3.3.x中測試groovy/src類中的服務
我一直在使用@Mock
註釋來模擬Grails服務,注入到被測試的groovy/src類中。在這種情況下模擬協作服務的策略是什麼? Spock有什麼我可以使用的,或者我應該回退到grails-test-mixins插件嗎?被測
類: 進口GRA
ils.util.Holders
import grails.util.Holders
class SomeUtilClass {
static MyService myService = Holders.grailsApplication.mainContext.getBean("myService")
static String myMethod() {
// here is some code
return myService.myServiceMethod()
}
}
我的測試規範(Grails的3.2.1):
import grails.test.mixin.Mock
import spock.lang.Specification
@Mock([MyService])
class ValidatorUtilsTest extends Specification {
def 'my test'() {
when:
def result = SomeUtilClass.myMethod()
then:
result == "result"
}
}
嗯,這實際上是對我來說最乾淨的解決方案,因爲我也想測試MyService。所以集成服務最有意義。謝謝... – kuceram
聽到這個真的很高興:D。 –