我有一个非常奇怪的情况,我已经创建了 Features
和 Scenarios
中的特征文件,并在单独的类中给出相应的步骤定义和方法。
我曾通过运行特征文件来运行测试,一切正常,所有测试都是绿色的。
但是,当我从 TestRunner
类,我得到了以下消息。
Undefined step: 鉴于我在Facebook的登录页面和建议的代码,
你可以用下面的代码段实现缺失的步骤。
@Given("^I am on the Facebook Login page$")
public void i_am_on_the_Facebook_Login_page() throws Throwable {
// Write code here that turns the phrase above into concrete actions
throw new PendingException();
}
我注意到建议的方法有下划线:
(i_am_on_the_Facebook_Login_page())
但我的方法没有下划线
(iAmOnTheFacebookLoginPage())
有人知道为什么会发生这种情况吗?我现在即使从特性文件中也无法运行测试。
最近,我开始使用 麦金塔 和 IntelliJ 而不是 窗口 和 日食.
有没有可能 IntelliJ P.S.我已经使用了 "创建步骤定义 "选项,从 IntelliJ
啊......我知道问题出在哪里了......我忘了放这段代码了 snippets = SnippetType.CAMELCASE
中的CucumberOptions。
所以,当我把这行代码放在这里的时候
@CucumberOptions(
plugin = {"pretty"},
features = {"src/test/resources/features"}, glue = {"/java/stepDefinitions"}, snippets = SnippetType.CAMELCASE)
一切都很正常。
可能是你的features文件夹不在构建路径中(是测试文件夹),所以Cucumber找不到它。试试 这个.