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

诱惑2cucumberJVM适配器和cucumber2似乎不兼容

融泓
2023-03-14

我正试图将Cucumber JVM 2与诱惑2结合使用,但我遇到了一个麻烦。当我尝试运行Maven项目时,会出现以下错误:

cucumber.runtime.CucumberException: Couldn't load plugin class: 
io.qameta.allure.cucumberjvm.AllureCucumberJvm. It does not implement 
cucumber.api.Plugin

我正在尝试使用cucumber选项指定诱惑插件,如下所示:

@RunWith(Cucumber.class)
@CucumberOptions
(                 
  features="src/test/resources/com/ss/cuketest/features/SomeFeature.feature"
        ,   glue="com/ss/cuketest/steps"
        ,   plugin= {"io.qameta.allure.cucumberjvm.AllureCucumberJvm"}
)
public class SomeRunner {

}

jvm声明的定义如下所示:

public class AllureCucumberJvm implements Reporter, Formatter

所以问题是诱惑的2cucumberJVM适配器是否与cucumberJVM 2兼容?或者我应该用别的东西?

PS:在我的pom中,我使用以下依赖项:

<dependency>
            <groupId>io.qameta.allure</groupId>
            <artifactId>allure-cucumber-jvm</artifactId>
            <version>2.0-BETA21</version>
</dependency>

<dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-spring</artifactId>
            <version>2.3.1</version>
            <scope>test</scope>
</dependency>
<dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-java</artifactId>
            <version>2.3.1</version>
</dependency>
<dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-junit</artifactId>
            <version>2.3.1</version>
</dependency>

任何帮助都非常感谢。谢谢。

共有3个答案

奚瑾瑜
2023-03-14

为了详细说明Viktor Sidochenko的答案,以下是POM文件中所需的行:

<dependency>
    <groupId>io.qameta.allure</groupId>
    <artifactId>allure-cucumber2-jvm</artifactId>
    <version>LATEST</version>
</dependency>

<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>${maven-surefire-plugin.version}</version>
        <configuration>
            <argLine>
                -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
                -Dcucumber.options="--plugin io.qameta.allure.cucumber2jvm.AllureCucumber2Jvm"
            </argLine>
连正信
2023-03-14

你试过这个吗https://github.com/allure-framework/allure-java/tree/master/allure-cucumber2-jvm ? 这适用于cucumber-jvm2

方祺
2023-03-14

根据cumber源文件cumber。应用程序编程接口。插件现在要求任何插件实现以下接口之一:

* <li>{@link cucumber.api.StepDefinitionReporter}</li>
 * <li>{@link cucumber.api.SummaryPrinter}</li>
 * <li>{@link cucumber.api.formatter.Formatter}</li>

然而,jvm实现起来非常复杂

gherkin.formatter.Formatter

相反。因此,编写一个简单的扩展到AllureCucumberJvm,实现插件接口并不令人惊讶地没有帮助(我的测试运行良好)。

我相信诱惑团队应该解决这个问题。

 类似资料:
  • 我目前正在使用cucumber json report进行来自jenkins的报告。该报告将测试的每个屏幕截图保存在内存中,这通常会导致java堆内存错误。我想尝试一下“诱惑”,但是在创建报告时没有找到任何关于它的行为的信息。所以我有几个问题:1。诱惑报告是在测试执行过程中创建的,还是在执行完成后才将所有结果汇总并写入报告?2.报表在其他地方存储时,是否将截图嵌入到报表中或作为链接添加?3.截图是

  • 我用maven-surefire-plugin 和cucumber-jvm-并行-插件用forked jvm运行并行测试。我pom.xm碎片https://pastebin.com/98RxWrKX 测试运行正常,所有测试运行正常。但当我运行并行测试时,我的诱惑重用结果是空白的。当我在单一模式下运行测试时,没有问题。 我需要帮助将插件添加到我的项目中。 PS由于项目的外部依赖性,我不能使用jvm4

  • 问题内容: 我需要在我的老师不让我们使用IDE的前提下对此进行开头。我们使用TextPad。我要单击此标签,然后将其从“ H”更改为“ T”。目前,当我单击标签时,没有执行任何操作。我忘记了什么? 问题答案: 您的工具,但您还需要告知将事件发送给自己。在构造函数的最后,您需要说 如果您还记得可以将 任何 类放入,并且必须将您的侦听器连接到,则这更有意义。本身是侦听器这一事实并不能免除您的这种责任。

  • 我实际上试图解决一个问题,Maven抱怨文件中缺少参数的vaule。因此,我决定通过将选项放在Jenkins中来调试Maven。但它抱怨我输入了一个不正确的Java参数: Jenkins认为我支持Java。后来我发现Jenkins生成的命令是这样的: /usr/java/jdk1.7.0_17/bin/java-x-cp/var/lib/jenkins/plugins/maven-plugin/w

  • 问题内容: 我正在使用以下示例在Node.js中进行签名和验证:https : //github.com/nodejs/node-v0.x-archive/issues/6904。验证在Node.js中成功,但在WebCrypto中失败。同样,使用WebCrypto签名的消息无法在Node.js中验证。 这是我用来验证使用WebCrypto- https: //jsfiddle.net/aj49e

  • 我一直在使用URLConnection。guessContentTypeFromName(String fname)来检测我需要在标头中使用什么mime类型来返回不同的文档。 在我用测试程序测试之前,它工作得很好 。我可以通过测试使它工作。jpg或测试。pdf,但不带测试。csv。 我没有问题获得pdf和jpg扩展的良好mimetype,但csv扩展接收null。 我似乎在谷歌上找不到任何理由来解