我遇到了以下问题。我在IntelliJ中有四个Cucumber功能文件。我通过IntelliJ插件添加了Cucumber支持。创建功能后,我按如下所示编辑了配置,因此我可以执行功能文件。
胶水应该是步骤定义所在的包的名称。在我的情况下,该包称为 stepdefinitions 。
下图显示了我的项目结构。功能文件驻留在 / src / test / resource / features 中,而步骤定义存储在 / src / test / java / stepdefinitions 中。
不幸的是,当我尝试使用步骤定义来运行Cucumber功能时,系统提示“您可以使用下面的代码片段实现缺少的步骤:” 但是我已经做到了。我已经将这些片段复制到了步骤定义文件中。当我悬停一个场景时,IntelliJ会告诉我*“未实现的子步骤定义”。
这两件事使我得出结论,即IntelliJ找不到我的步骤定义。也许你们当中的一个知道我在做什么错。
答案 0 :(得分:4)
我终于找到了解决我问题的方法。该错误是由名为 Substep IntelliJ Plugin 的插件引起的。您需要在IntelliJ插件部分中搜索它,然后禁用或卸载它。
答案 1 :(得分:0)
禁用Cucumber插件以避免与功能文件关联冲突,请安装Substeps插件。请参阅http://substeps.github.io/,以获取有关如何使用Substeps BDD框架以及从此处下载示例入门项目的更多文档:https://github.com/Substeps/substeps-example/archive/1.1.zip