gpt4 book ai didi

java - cucumber 测试未运行

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:11:38 25 4
gpt4 key购买 nike

我正在处理我的第一个功能文件/selenium 项目。

我已经创建了一个特征文件和运行器类。

package cucumberpkg2;
import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
@RunWith(Cucumber.class)
@CucumberOptions
(features="Features")
public class Runner {

}
我有功能文件 test.feature

Feature: Login screen

Scenario Outline: Successful login
Given User is on Login page
When User enters valid UserName and Password
And Clicks the login button
Then User landed on the home page

但每当我尝试将 TestRunner 类作为 JUnit 测试运行时,我都会收到错误消息:

在所选项目中找不到测试类。

最佳答案

这是您问题的解决方案:

  1. 根据 Cucumber 的当前文档您可能需要在 test.feature 文件中将关键字 Scenario Outline 更改为 Scenario
  2. 虽然您提到了 TestRunner 类,但是您的代码谈到了 Runner 类被实现为 public class Runner,请确保哪个类文件是您作为 JUnit 测试 执行。
  3. 对于以前的版本,您可能需要将 @CucumberOptions 更改为 @Cucumber.Options(最新版本使用 @CucumberOptions)
  4. 将以下两部分放在一行中作为 @Cucumber.Options
    (features="特征")
  5. 正如您提到的 @Cucumber.Options(features="Features") 确保您的功能文件放置在项目目录中的 Features 子目录中。
  6. 因此,您将在 Features 子目录中拥有包含以下代码的 test.feature 文件:

    Feature: Login screen
    Scenario: Successful login
    Given User is on Login page
    When User enters valid UserName and Password
    And Clicks the login button
    Then User landed on the home page
  7. 您的 Runner 类将如下所示:

    import org.junit.runner.RunWith;
    import cucumber.api.junit.Cucumber;
    @RunWith(Cucumber.class)
    @CucumberOptions(features="Features")
    public class Runner {

    }
  8. 最后,当您将执行 Runner 类作为 JUnit 测试时,您将在控制台上看到以下消息:

    You can implement missing steps with the snippets below:

    @Given("^User is on Login page$")
    public void User_is_on_Login_page() throws Throwable {
    // Express the Regexp above with the code you wish you had
    throw new PendingException();
    }

    @When("^User enters valid UserName and Password$")
    public void User_enters_valid_UserName_and_Password() throws Throwable {
    // Express the Regexp above with the code you wish you had
    throw new PendingException();
    }

    @When("^Clicks the login button$")
    public void Clicks_the_login_button() throws Throwable {
    // Express the Regexp above with the code you wish you had
    throw new PendingException();
    }

    @Then("^User landed on the home page$")
    public void User_landed_on_the_home_page() throws Throwable {
    // Express the Regexp above with the code you wish you had
    throw new PendingException();
    }
  9. 可以通过对 Cucumber 实现 glue 选项轻松处理这些警告。

如果这回答了您的问题,请告诉我。

关于java - cucumber 测试未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43966680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com