是否可以在不同的特征文件中同时识别黄瓜步和空手道步?

Is it possible to have Cucumber steps and Karate steps recognised at the same time in different feature files?

我有一个 Java 框架,其中包含一些 Cucumber 功能文件。 它还包含一些空手道功能文件。

我对每种类型的功能文件都有单独的 运行 人员,并且两组测试 运行 都成功了。

但是,当我在 Intellij 中查看功能文件时...它看起来总是找不到 Cucumber 或 Karate Step 定义。

如果我只向 pom 添加空手道依赖项:

        <dependency>
            <groupId>com.intuit.karate</groupId>
            <artifactId>karate-junit5</artifactId>
            <version>1.1.0</version>
            <scope>test</scope>
        </dependency>

然后识别空手道特征文件中的空手道步骤,但不识别黄瓜特征文件中的黄瓜步骤。

如果我只向 pom 添加 Cucumber 依赖项:

        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-java</artifactId>
            <version>7.2.3</version>
        </dependency>

然后识别出 Cucumber 特征文件中的 Cucumber 步骤,但无法识别 Karate 特征文件中的 Karate 步骤。

有没有办法同时识别两者?

我认为这是步骤定义位置的问题,但我不确定如何解决它。

IDEA 使用简单的启发式方法来确定要使用的 Cucumber 版本。如果检测到最新版本,则使用该版本。

但是空手道依赖于旧版本的 Cucumber。所以在使用空手道和最新版本的 Cucumber IDEA 时会忽略空手道。

要正确解决此问题,Peter 必须提供他自己的步骤定义注释。然后 IDEA 可以使用 Cucumber 旁边的那些。

但这意味着等待 Jetbrains,我认为 Peter 不愿意这样做。