Cucumber 特征文件在单击重新计算步骤时无法定位胶水代码并抛出错误消息

Cucumber feature file unable to locate glue code when clicking on Recalculate Steps and throws error message

我目前正在使用 Cucumber 框架创建测试套件。我已经为我必须测试的每个功能创建了特性文件。 功能文件从不显示要通过胶水代码覆盖的条件。单击“重新计算步骤”会引发错误:在 "Scanning for step definitions" 期间发生内部错误。 java.lang.NullPointerException

我尝试在Test Runner中更改胶水路径class,但也没有解决问题。该功能可以毫无问题地执行并且代码运行良好,唯一的问题是功能文件不断声明没有匹配的粘合代码。

#OrderInteraction
@Orders
Feature: Validating Order functionality

  Background: Pre-requisites of Order Functionality
  Given WebDriver is initialized
  And Website is up and running
  When User Enter "Username" and "Password" as Credentials
  Then Validate User Login


Test Runner : 
package Cucumber;

import org.junit.runner.RunWith;
import io.cucumber.junit.Cucumber;
import io.cucumber.junit.CucumberOptions;

@RunWith(Cucumber.class)
@CucumberOptions(features = "Features", glue= 
{"src/main/java/CucumberStepDefinitions"})

public class CucumberTestRunner {



}

我想找到一种 Cucumber 特征文件可以识别存在的粘合代码的方法。请随时指导我解决现有的问题来回答这个问题或提供帮助的文档。

这个讨论中有一个可能的解决方案https://github.com/cucumber/cucumber-eclipse/issues/303

这基本上是为了确保您没有

import cucumber.api.java.en.*;

在您的步骤文件中,并使用

import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;

相反。

哪个帮我修好了

我终于找到了解决这个问题的方法。问题在于黄瓜插件版本,我参考Cucumber-Eclipse-Update-SiteSnapshot解决。

步骤如下:

1.From Eclipse,转到菜单帮助 > 安装新软件

2.Work 与:https://cucumber.github.io/cucumber-eclipse-update-site-snapshot

3.Select Cucumber Eclipse 插件的复选框

4.Select按照安装过程中显示的说明进行下一步。

5.Restart 完成指令后的 Eclipse。

插件更新后功能文件会自动扫描步骤并找到匹配的胶水代码。