嘲笑Spock中的超类 [英] Mocking a Superclass in Spock
本文介绍了嘲笑Spock中的超类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
你如何测试一个在Spock中拥有超类的类,该类调用其超类的方法调用?或者你如何嘲笑Spock的超类?
例如:
class Bar {
pre>
def method1(parm1){
//方法操作
}
}
class Foo扩展条{
def method2(param1,param2){
//方法操作
super.method1(param1)
}
}
如何模拟类
Bar
的行为?解决方案您可以使用您的类
Foo
作为Spy
。间谍将创建你的类的一个实例Foo
,但是可以让你嘲笑任何在你的间谍类层次中声明的公共方法。def fooInstance = Spy(Foo)
fooInstance.method1(_)>> '返回值'
How can you unit test a class that has a superclass in Spock that invokes method calls form its superclass? Or how do you mock a superclass in Spock?
Ex:
class Bar { def method1(parm1){ //Method actions } } class Foo extends Bar { def method2(param1, param2) { //Method actions super.method1(param1) } }
How can I mock behavior of class
Bar
?解决方案You might use your class
Foo
as aSpy
. The spy will create an instance of your classFoo
but gives you the possibility of mocking any public methods declared in your spies class hierarchy.def fooInstance = Spy(Foo) fooInstance.method1(_) >> 'return value'
这篇关于嘲笑Spock中的超类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文