@Before doesn#39;t execute in java Cucumber Step(@Before 不在 java Cucumber Step 中执行)
问题描述
我有一个 Cucumber Step 类,我正在尝试为所有场景初始化页面模型.所以我添加了一个@Before 注释方法:
I've got a Cucumber Step class that i'm attempting to initialise a page model for all scenarios. So I added a @Before annotated method :
@Before()
private void beforeScenario() {
LOGGER.info("Running before!");
loginPage = BrowserDriver.getPageModel(LoginPage.class);
}
然后,我得到了一堆依赖于设置 loginPage 的步骤.例如
I've then got a bunch of steps that rely on loginPage being set. e.g.
@When("^I click the help link$")
public void I_click_the_help_link() {
loginPage.clickHelpLink();
}
我有多个 Step 课程.上述两种方法都在同一个 Step 类中.但是 loginPage 始终为空.beforeScenario 方法永远不会被调用.我是否完全误解了 @Before 的工作原理?关于如何获得我想要的工作的任何提示?
I have multiple Step classes. Both of the methods above are in the same same Step class. However loginPage is always null. The beforeScenario method is never being called. Have I completely misunderstood how @Before is meant to work? Any tips on how to get what I want to work?
我还有一个 @After 注释方法,它会按预期在每个场景之后运行.
Edit : I also have an @After annotated method that does get run after every scenario as expected.
Pom 可见于:http://pastebin.com/PJ6qQRK9
推荐答案
确保您使用的是
cucumber.annotation.Before
而不是org.junit.Before
.Cucumber 不会处理 JUnit 注释.(更多信息请参见这篇博文的场景挂钩部分.)
Make sure you are using
cucumber.annotation.Before
rather thanorg.junit.Before
. Cucumber will not process JUnit annotations. (More information in the Scenario Hooks section of this blog post.)
确保您的@Before 方法是public
,而不是private
.
Make sure your @Before method is public
, not private
.
这篇关于@Before 不在 java Cucumber Step 中执行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:@Before 不在 java Cucumber Step 中执行
基础教程推荐
- 首次使用 Hadoop,MapReduce Job 不运行 Reduce Phase 2022-01-01
- 如何在不安装整个 WTP 包的情况下将 Tomcat 8 添加到 Eclipse Kepler 2022-01-01
- Java 中保存最后 N 个元素的大小受限队列 2022-01-01
- 如何使用 Eclipse 检查调试符号状态? 2022-01-01
- 如何强制对超级方法进行多态调用? 2022-01-01
- Spring Boot Freemarker从2.2.0升级失败 2022-01-01
- 如何对 HashSet 进行排序? 2022-01-01
- 如何使用 Stream 在集合中拆分奇数和偶数以及两者的总和 2022-01-01
- 在螺旋中写一个字符串 2022-01-01
- 由于对所需库 rt.jar 的限制,对类的访问限制? 2022-01-01