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

在IntelliJ控制台(Cucumber-Java with Junit)中没有显示场景步骤(给定、When和Then)

穆鸿飞
2023-03-14

而且我确实在IntelliJ中安装了Cucumber-Java插件。和IntelliJ Idea版本-IntelliJ Ultimate 2020.1My cucumber、junit和java版本在POM中:


<java.version>1.8</java.version>
    <junit.version>4.13</junit.version>
    <cucumber.version>5.6.0</cucumber.version>

运行测试


    package io.cucumber.hellocucumber;

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

    @RunWith(Cucumber.class)
    @CucumberOptions(plugin = {"pretty"})
    public class RunCucumberTest1 {
    }

特征文件


    Feature: Is it Friday yet?
      Everybody wants to know when it's Friday

      Scenario: Sunday isn't Friday
        Given today is Sunday
        When I ask whether it's Friday yet
        Then I should be told "No"

      Scenario: Friday is Friday
        Given today is Friday
        When I ask whether it's Friday yet
        Then I should be told "TGIF"   
sampling ...
include patterns:
io\.cucumber\.core\.cli\..*
exclude patterns:
Jun 04, 2020 11:31:23 AM io.cucumber.core.cli.Main run
WARNING: By default Cucumber is running in --non-strict mode.
This default will change to --strict and --non-strict will be removed.
You can use --strict to suppress this warning

1 Scenarios (1 passed)
3 Steps (3 passed)
0m0.583s

Class transformation time: 0.0138887s for 1552 classes or 8.948904639175257E-6s per class

Process finished with exit code 0

谢谢,尼迪

共有1个答案

巫马翰翮
2023-03-14

看起来您正在使用IDEA来运行您的Cucumber测试,而不是使用JUnit(RunCucumberTest1类)。

当您使用IDEA时,测试的输出会自动分组到各个部分中。如果展开test results树(可能需要切换一些筛选器),可以单击一个步骤,查看在执行过程中输出的内容。

如果您想看到步骤信息打印,您必须显式地启用漂亮打印机。您可以通过将--plugin pretty添加到run configuration菜单中的CLI参数中来实现这一点。如果您将它添加到模板中,您只需要执行一次操作(首先删除所有旧的cucumber运行配置)。

 类似资料:
  • 我使用下面的组合作为我的UI自动化代码。 硒 当我运行CukesRunner类来执行功能文件时,它会成功运行。但是Intellij中的TestNG窗口仅在缺少功能名称和场景/步骤详细信息时才会显示。 如果我错了,请纠正我。谢谢你。

  • 我将硒与cucumber一起使用(使用JAVA,但不太相关) 假设我有以下场景: 功能:示例功能 场景:在网站上执行操作A给定网站已打开,用户输入正确的登录名并传入字段,用户按“登录”,然后执行操作A 场景:在网站上执行操作A给定网站已打开,用户输入正确的登录名并传入字段,然后用户按“登录”,然后执行操作B 现在,将有数百个场景,网站总是需要登录到网站,所以我假设对于每个测试场景,我必须重复登录步

  • 我目前正在尝试创建我的第一个cucumber测试。在Java Eclipse中,我创建了一个包含以下内容的“功能文件”: 我还创建了以下testrunner文件: 我还创建了我的步骤定义: 公共类LoginStepDefinitions{ } 当我将脚本作为Junit测试运行时,控制台会成功执行测试并显示结果: 但是当打开JUnit选项卡时,会发生两件事: 1)测试步骤似乎没有显示: 2)当我双击

  • 自从我升级到最新的社区版IntelliJ 15.0.3以来,每当我使用alt-enter从功能定义文件自动生成步骤定义时,它都会以驼峰大小写而不是带下划线的常规样式创建方法。 例如,它过去是这样生成的 但现在它产生了通常的camelCase惯例: 有没有办法把这个设置改回第一种样式? 谢谢

  • 好的,所以我正在使用IntelliJ进行一个项目,并试图利用它的cucumber功能。我没有使用过cucumber的java风格,但IntelliJ似乎希望步骤定义文件位于相对于特性文件的特定位置。 我在Intellij12和其他来源中找到了:如何定义cucumber的步骤定义位置,这些来源指出我能够添加运行配置的“glue”属性,它告诉cuke在哪个包中查找步骤文件。因此,我可以通过idea运行

  • 当从Intellij运行我的Cucumber验收测试时,测试结果不显示场景名称,只显示-这使得确定哪个场景实际上失败变得困难/不可能! 例如。 我使用JDK8和Intellij IDEA15 Community Edition(Build#ic-143.2287)以及以下Intellij IDEA15Community Edition插件: null 以下cucumber库(gradle): 这是