点击“重新计算步骤”时,Cucumber 功能文件无法找到粘合代码并抛出错误消息

问题描述 投票:0回答:3

我目前正在使用 Cucumber 框架创建一个测试套件。我已经为我必须测试的每个功能创建了功能文件。 功能文件从不显示通过粘合代码覆盖的条件。单击“重新计算步骤”时,它会引发错误:“扫描步骤定义”期间发生内部错误。 java.lang.NullPointerException

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

#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 功能文件可以识别存在的粘合代码。请随时指导我解决这个问题的现有问题或有帮助的文档。

selenium eclipse-plugin cucumber cucumber-jvm cucumber-java
3个回答
0
投票

此讨论中有一个可能的解决方案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;

相反。

这为我解决了问题


0
投票

我终于找到了这个问题的解决方案。问题出在cucumber插件版本上,我参考了Cucumber-Eclipse-Update-SiteSnapshot来解决。

步骤如下:

1.从 Eclipse 中,转到菜单“帮助”>“安装新软件”

2.使用:https://cucumber.github.io/cucumber-eclipse-update-site-snapshot

3.选中Cucumber Eclipse Plugin 的复选框

4.按照安装过程中显示的说明选择下一步。

5.完成指导后重新启动 Eclipse。

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


0
投票

我找到了简单安全的解决方案。 右键单击项目 - >属性 - >从黄瓜选项中选择胶水代码选项 - >选中/取消选中已取消选中/选中的复选框“无论参数类型如何匹配”,然后单击应用。

© www.soinside.com 2019 - 2024. All rights reserved.