unit-testing - 在 Spock 中模拟父类(super class)

标签 unit-testing grails mocking spock

如何对一个在 Spock 中具有从其父类(super class)调用方法调用的父类(super class)的类进行单元测试?或者你如何在 Spock 中模拟一个父类(super class)?

前任:

class Bar {

  def method1(parm1){
      //Method actions
  }
}


class Foo extends Bar {

   def method2(param1, param2) {          
       //Method actions
       super.method1(param1)
   }
}

如何模拟类的行为 Bar ?

最佳答案

你可以使用你的类(class) Foo作为 Spy . spy 将创建你的类的实例 Foo但让您可以模拟在 spy 类层次结构中声明的任何公共(public)方法。

def fooInstance = Spy(Foo)
fooInstance.method1(_) >> 'return value'

关于unit-testing - 在 Spock 中模拟父类(super class),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24481973/

相关文章:

grails - 在Grails中创建动态变量名称

python - 在 Python 中使用模拟测试派生类

python - 如何使用补丁相对路径进行模拟?

unit-testing - RavenDB:获取内存文档存储区 "Voron is prone to failure in 32-bits mode."的异常

unit-testing - PowerMockito 在模拟私有(private)方法以测试公共(public)方法时返回 null

ios - Xcode 单元测试崩溃,无法加载插入的库 IDEBundleInjection

python - 如何测试 python 私有(private)方法(是的,我确实有理由测试它们)

hibernate - 如何禁用Hibernate缓存日志?

grails - Grails GORM一对多问题

java - jMockit - 如何使构造函数调用返回模拟