Hyp*_*eMK 6 grails grails-3.0 grails-3.0.9
我正在将应用程序从Grails 2.4.4升级到Grails 3.0.9,我找不到有关如何在Grails 3中执行mockFor,createMock和require的任何信息.
我以前做过这样的事情:
fooService = mockFor(FooService)
controller.fooService = fooService.createMock()
fooService.demand.barMethod() { a,b ->
}
Run Code Online (Sandbox Code Playgroud)
但看起来'mockFor'就像文件一样消失了.什么是Grails 3的方法呢?
更新:
我不想用Grails的mockFor'样式重写数千个用Spock交互方式编写的测试,所以我提出了这个解决方案:
没有进一步的改变,这在Grails 3中"正常".
您可以默认使用Spock:
@TestFor(MyController)
class MyControllerSpec extends Specification {
void "test if mocking works"() {
given:
def fooService = Mock(FooService)
fooService.barMethod(_, _) >> {a, b ->
return a - b
}
when:
def result = fooService.barMethod(5, 4)
then:
result == 1
}
}
class FooService {
int barMethod(int a, int b) {
return a + b;
}
}
Run Code Online (Sandbox Code Playgroud)
我还从grails 2升级了很多测试,这些测试使用mockFor
并使用了HypeMK概述的类似方法:
import groovy.mock.interceptor.MockFor
mockFor
为new MockFor
createMock()
为proxyInstance()
verify()
归档时间: |
|
查看次数: |
2129 次 |
最近记录: |