2016-01-13 76 views
6

我想擴展java中的「AbstractBase_step」類。所以我想有一個像鉤子:黃瓜類擴展步驟定義和掛鉤

public abstract class AbstractBase_Steps { 
    protected Scenario scenario; 
    @Before 
    public void background(Scenario scenario) { 
     this.scenario = scenario; 
    } 
} 

這就是所謂的每一步文件:

public abstract class Hello_Steps extends AbstractBase_Steps { 
} 

當我這樣做,我得到

cucumber.runtime.CucumberException:您'不允許擴展定義步驟定義或鉤子的類。 class Hello_Steps擴展類AbstractBase_Steps

有人有這樣的訣竅嗎?

編輯:爲了重複使用相同的步驟定義,我創建了一個新的類Common_Steps並將其包含在粘合路徑中。所以它的定義可用於測試中的所有功能文件。

回答

1

據我瞭解你的問題,你想減少步驟的邏輯。這是解決方案。

1)在一般的包在這種情況下A定義一個公共類與步驟等co.com.test

2)定義的配置使用基礎包

@CucumberOptions(format = {"pretty", "html:target/html/"}, 
features = {"src/test/resources/acceptance/general/general.feature"}, 
glue = {"co.com.test"}) 

3步驟)不繼承從B級以特定步驟到A

這將導致將在所有包中搜索步驟,並將找到常見步驟和具體步驟。