查看jBehave的代码我注意到所有@ BeforeStory / Scenarios注释都针对JBehave范围内的所有Stories / Scenarios运行。 Stories / Scenarios与@ BeforeStory / Scenario注释之间似乎没有任何一对一的对应关系。如果我错了,请纠正我。如果这是预期的行为,我怎样才能将@ BeforeStory / BeforeScenarios的一对一映射到故事和场景?
供我参考,这就是我正在做的事情:
对于每个文本故事,都有一个相应的* Story.java,它扩展了一个SuperStory.java,它反过来扩展了JUnitStories。此外,还存在对应于每个文本故事的* Steps.java。 * Steps.java是从SuperStory.java.apart中的一个公共spring bean注入的,有一个LifeCycleSteps扩展PerStoriesWebDriverSteps。
我希望实现的目标:
我想配置我的@ BeforeStory / @ BeforeScenarios以一种方式进行配置,使故事“x”的执行只应执行步骤“x”的@ BeforeStory / Scenarios
答案 0 :(得分:0)
由于JBehave是BDD,你应该设计你的故事,只需要有一个@BeforeScenario,因为场景中的每一步都将按顺序运行,任何先决条件都应该在@Given或@BeforeScenario中完成。其他非BDD的测试框架需要@Before,因为每个步骤都应该设计为可以在没有任何其他依赖项的情况下运行。