是否有可能讓子上下文類擴展另一個子上下文並覆蓋函數?是否可以覆蓋behat上下文中的步驟定義?
目前我有
class TestContext extends BehatContext {
/**
* @Given /^a testScenarioExists$/
*/
public function aTestscenarioexists() {
echo "I am a generic test scenario\n";
}
}
和
class SpecialTestContext extends TestContext {
/**
* @Given /^a testScenarioExists$/
*/
public function aTestscenarioexists() {
echo "I am a special test scenario\n";
}
}
在功能方面,我告訴它我們SpecialTestContext
作爲子上下文。
當運行測試貝哈特與
抱怨[貝哈特\貝哈特\異常\ RedundantException]
步驟 「/ ^一個testScenarioExists $ /」 已經在SpecialTestContext定義:: aTestscenarioexists()
請問有人可以用這個指出我的正確方向嗎?
給一些進一步的信息,爲什麼我試圖做到這一點我想實現是運行與不同的環境場景的能力,並有小黃瓜文件中指定的環境中,例如:
Scenario: Test with generic environment
Given I am in the environment "generic"
And a test scenario exists
Scenario: Test with specialised environment
Given I am in the environment "specialised"
And a test scenario exists
然後我可以使用在FeatureContext
中添加一些代碼來加載正確的子上下文。
只是更新上面提供的鏈接。 * http://docs.behat.org/en/latest/user_guide/context/definitions.html#redundant-step-definitions * http://docs.behat.org/en/latest/user_guide/context。 html#contexts-lifetime – aczietlow 2017-08-24 17:07:26