【发布时间】:2020-06-11 15:36:25
【问题描述】:
我正在建立一个 Cucumber + Java 项目,项目结构如下:
我的配置正确映射了主类、功能文件夹,并且胶水映射到“stepdefs”。
但是,在尝试运行测试时,我会收到 Cucumber 的“未定义步骤”消息:
Step undefined
You can implement missing steps with the snippets below:
@Given("user is on the homepage")
public void user_is_on_the_homepage() {
// Write code here that turns the phrase above into concrete actions
throw new io.cucumber.java.PendingException();
}
我注意到Steps.java 文件中的类名被突出显示并抱怨“步骤定义类必须在命名包中”:
我尝试将package stepdefs 添加到文件顶部,但这似乎不起作用(“stepdefs”将加下划线并带有注释“包名称'stepdefs'与文件不对应路径''")。
更新:
根据@tashkhisi 的一些建议,这是我的新项目结构:
【问题讨论】:
-
目录必须在源文件夹中才能成为包。如果将父文件夹标记为源目录并将其变为蓝色,则应将其检测为包
-
你是对的!但我仍然从 Cucumber 那里得到“未定义的场景”。
-
我认为 .feature 文件应该在资源目录下,顺便说一下,您可以使用为您创建最佳目录结构的 maven 原型。请点击此链接:cucumber.io/docs/guides/10-minute-tutorial
-
@tashkhisi 功能在资源下,我遵循了目录结构的提示,但仍然没有运气。
标签: java intellij-idea cucumber cucumber-jvm