我有一些測試在我的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對不起,我正在那樣做。在我的部分錯別字。 –
好的,所以在代碼本身的問題描述中存在錯字? (有例外嗎?) –