我正在使用Grails并使用Spock框架编写测试。 我试图弄清楚测试中放置模拟代码的正确部分(给定,在哪里,然后设置......)。
例如,以下是否正确?
void "test Something"() {
given:
//build mock and add demand statements...
when:
//Call method
}
答案 0 :(得分:2)
我倾向于把我的要求放在当时的部分,除非我有复杂的模拟,在这种情况下我将它们放在给定的部分,但它们将在两个地方都有效。
void "test Something"() {
given:
def myService = Mock(MyService)
mainThing.myService = myService
when:
mainThing.doCall()
then:
1 * myService.call() >> 'value'
}