我有一些测试在我的Grails集成测试套件(它使用Spock)中非常相似。我想有一个基本的测试类,其中有90%的测试通用逻辑,然后让测试类从中延伸出来。Grails Spock集成测试中的继承
我在想:
public abstract BaseSpecification extends IntegrationSpec {
public baseTest() {
//
setUp:
//
...
when:
//
...
then:
...
}
}
然后:
public class SpecificTestSpecification extends BaseSpecification {
public baseTest() {
setup:
// more set up
super.baseTest();
when:
// some more specific testing
then:
// som more testing
}
}
但是,试图为此,我得到两个问题:
- 它同时运行
BaseClass
和SpecificationClass
- 当
SpecificationClass
点运行时,它失败上:
groovy.lang.MissingMethodException:方法的无签名:BaseSpecification.baseTest()是适用于参数类型:()值:()的任何:[] 可能的解决方案老(java.lang.Object中),任(groovy.lang.Closure),通知(),等待(),间谍() 在
任何想法如何,我可以在我的斯波克集成测试实现继承?
您需要在** SpecificClass **类声明中扩展** BaseClass **而不是** IntegrationSpec **。 –
@ShashankAgrawal对不起,我正在那样做。在我的部分错别字。 –
好的,所以在代码本身的问题描述中存在错字? (有例外吗?) –