是否可以在 Eclipse 中使用 TestNG 查看每个黄瓜场景步骤结果?

Is it possible to view each of cucumber scenario step result with TestNG in Eclipse?

请参阅随附的屏幕截图,使用 Junit 可以看到每个场景步骤的结果,但使用 TestNG 则显示不同。

TestNG 也可以吗?我是否缺少任何配置,使用 JUnit 就可以了。

经过一些研究后,我发现在 SO 上有几张票可以解决这个问题和类似问题。也许下面会提供更多信息。

目前,对于 cucumber-jvm 发布版本 1.2.5,功能是 运行 作为单个 TestNG 测试(如下图所示)

这个ticket was open and not long ago and they have added the functionality to run a TestNG test for each scenario (pull request here).

因为这些变化还没有发布,为了让 TestNG 达到每个场景的 运行,你必须做一些事情:

  • 用于测试此 -> here 的项目。 (我在这个项目中使用了 IntelliJ,同样的事情可以在 Eclipse 中完成)
  • 更新 pom.xml 以便您可以使用 cucumber-jmvmaster 分支,从而获得最新的更改。以下是我所做的更改。

<repositories>
    <repository>
        <id>sonatype-snapshots</id>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>

<parent>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-jvm</artifactId>
    <version>2.0.0-SNAPSHOT</version>
</parent>

<artifactId>java-calculator-testng</artifactId>
<packaging>jar</packaging>
<name>Examples: Java Calculator TestNG</name>

<dependencies>
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-jvm-deps</artifactId>
        <version>1.0.5</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-java</artifactId>
        <version>2.0.0-SNAPSHOT</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-testng</artifactId>
        <version>2.0.0-SNAPSHOT</version>
        <scope>compile</scope>
        <exclusions>
            <exclusion>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
</dependencies>

  • 转到 src/test/java,打开 RunCukesTest 并 运行。以下是结果:

我相信您可以根据需要应用 testng.xml 使其成为 运行。

很遗憾,steps 暂时还没有显示。可能会在未来的版本中添加,这是下一个合乎逻辑的步骤。

希望这能回答您的问题。