嘲笑Spock中的超类 [英] Mocking a Superclass in Spock

查看:119
本文介绍了嘲笑Spock中的超类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你如何测试一个在Spock中拥有超类的类,该类调用其超类的方法调用?或者你如何嘲笑Spock的超类?



例如:

  class Bar {

def method1(parm1){
//方法操作
}
}


class Foo扩展条{

def method2(param1,param2){
//方法操作
super.method1(param1)
}
}
pre>

如何模拟类 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 a Spy. The spy will create an instance of your class Foo 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆