当前位置: 首页 > 知识库问答 >
问题:

从命令行运行时未找到Cucumber步骤定义

太叔昊穹
2023-03-14
Feature: practice test
  Scenario Outline: not CheckingOut bananas
    given abc
    when place holder2
    then place holder3

测试步骤:

public class SimpleTest {
    @Given("^abc")
    public void part1() throws Exception {
        System.out.println("part 1");
        throw new Exception("an exceptoin");
    }

    @When("place holder2")
    public void part2(){
        System.out.println("part 2");
    }

    @Then("place holder3")
    public void part3() {
        System.out.println("part 3");
    }

}

我试过“abc”,“^abc”,“give abc”...在@gived上

我用下面的bat文件和步骤定义来驱动它,并且类文件就在那里。在-g(glue)选项中,我意识到包名是参数值,所以我尽可能简单地实现了这一点,但我只找到了0个场景。bat文件很简单:

echo cucumber compile and execution
javac -cp "lib/*" step_definitions/SimpleTest.java 
javac -cp "lib/*;web/WEB-INF/lib/*" test/java/xxxxx/zzzz/referral/out/batch/RunCukesTest.java 
java -cp "lib/*;web/WEB-INF/lib/*;.;test/java/*" cucumber.api.cli.Main -p pretty -g step_definitions features
Feature: practice test

  Scenario Outline: not CheckingOut bananas ←[90m# bogus.feature:2←[0m
    given abc
    when place holder2
    then place holder3


0 Scenarios
0 Steps
0m0.000s

如果*.feature文件是cucumber运行的必要条件,并且即使junit被挂到cucumber.class测试运行程序中,它们也必须与编译的步骤定义相对应,那么本书就会留下更少的不确定性空间。这本书的讲坛看起来很薄。可能需要去github或任何有源代码的地方。

共有1个答案

柳弘方
2023-03-14

首先,保留关键词的第一个字母作为大写ex。给予,等等。

其次,在Scenario Outline下定义的步骤只执行,并且只在“示例”中存在很少的记录时执行。此外,这些步骤将为'n'条记录执行'n'次。

可以认为它是由特征文件提供的隐式循环。

 类似资料:
  • javac-cp“lib/*”src/com/company/main.java 在myproject/src中,我尝试使用: JAVA-CP。COM/公司/主要 C:\myproject\src>javac-cp“lib/*”com/company/main.java C:\myproject\src>java-cp.;“lib/*”com/company/main 现在,代码编译和执行没有任何

  • 我刚开始咕噜咕噜的。我正在尝试在我的Mac OSX Lion上配置Grunt。 我按照这里的说明,然后创建了一个包含下面文件的项目文件夹。当我尝试通过在终端中键入“grunt”来运行时,我会得到。我还修改了paths,希望添加路径可以使任务运行器工作,但它仍然不能工作。有人能帮忙吗?

  • 我遇到了以下问题。我在Intellij中有四个Cucumber特性文件。我通过IntelliJ插件添加了Cucumber支持。在创建了特性之后,我按如下所示编辑了配置,这样我就可以执行特性文件了。 可悲的是,当我尝试使用步骤定义运行cucumber特性时,我得到的提示是“您可以使用下面的代码片段实现缺少的步骤:”但我已经这样做了。我已经将这些片段复制到步骤定义文件中。当我悬停一个场景时,Intel

  • 我正在尝试使用AWS codebuild生成一个简单的docker应用程序,但遇到一个错误,其中找不到AWS命令: 我有一个超级简单的docker文件,它构建了一个简单的express应用程序: 我有一个超级简单的构建规范。yml构建docker容器并将其推送到aws注册表: 然而一旦运行,它抛出上面张贴的错误^^我不确定为什么没有找到aws cli utils?这里的指南: http://doc

  • 我试图找出是否有一个选项来找出当前正在执行的cucumber步骤,我试图根据步骤名称执行某些操作。 我可以看到StepDefinitionMatch类获得了这些步骤,但我不确定如何在运行时访问这些步骤。有人帮忙吗?如果有帮助,添加调用堆栈的快照。

  • 在如下定义的项目结构中, src/main/java--Config(RunCukesTest.java)--步骤定义 当我使用RunAs从