Có thể có một lớp subcontext mở rộng một chức năng phụ và ghi đè khác không?Có thể ghi đè các định nghĩa bước trong ngữ cảnh không?
Hiện nay tôi có
class TestContext extends BehatContext {
/**
* @Given /^a testScenarioExists$/
*/
public function aTestscenarioexists() {
echo "I am a generic test scenario\n";
}
}
và
class SpecialTestContext extends TestContext {
/**
* @Given /^a testScenarioExists$/
*/
public function aTestscenarioexists() {
echo "I am a special test scenario\n";
}
}
Trong bối cảnh tính năng tôi nói với nó chúng ta SpecialTestContext
như một subcontext.
Khi tôi chạy thử nghiệm behat phàn nàn với
[Behat \ Behat \ Exception \ RedundantException]
Bước "/^a/testScenarioExists $" đã được xác định trong SpecialTestContext :: aTestscenarioexists()
Ai đó có thể vui lòng chỉ cho tôi đúng hướng với điều này không?
Để cung cấp thêm thông tin về lý do tôi cố gắng đạt được điều này, tôi cố gắng đạt được khả năng chạy kịch bản với môi trường khác nhau và có môi trường được chỉ định trong tệp gherkin, ví dụ:
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
Sau đó tôi có thể sử dụng thêm một số mã trong FeatureContext
để tải lên đúng ngữ cảnh phụ.
Chỉ cập nhật các liên kết được cung cấp ở trên. * 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