重写的spock测试方法仍在运行

Nat*_*and 3 groovy unit-testing spock

我有一系列从基类扩展的类.我已经为类编写了spock测试类,其基类测试类测试了正常的功能,但在少数类的情况下,标准测试逻辑不起作用.

我的计划是在需要时简单地覆盖基本测试方法,但似乎spock仍在运行它们.

例:

基础测试:

def "testing name"() {
     expect:
     assert STANDARD CODE HERE
}
Run Code Online (Sandbox Code Playgroud)

子类测试:

def "testing name"() {
     expect:
     assert CUSTOM CODE HERE
}
Run Code Online (Sandbox Code Playgroud)

但是当我运行测试时,基本测试的方法仍在运行并且失败.

Pet*_*ser 6

从Spock 0.7开始,不支持在子类中覆盖测试方法,并且您必须找到一种不同的方法来构建测试.例如,您可以使用模板方法模式,其中基类中的测试方法调用一些抽象或具体的辅助方法,然后在子类中实现或覆盖这些方法.

  • 这令人失望.我有时会看到不重写的价值,但它也是一种很好的方法,可以在不诉诸更复杂的模板方法的情况下管理变体.控制行为的注释可能很好. (2认同)