如何从Cucumber IntelliJ插件的Classpath(jar)中链接StepDefination类

问题描述 投票:0回答:1

我想使用来自maven jar依赖项的现有步骤定义类。

如果从Runner类(使用胶水粘贴到包装)和mvn CLI中运行,我的黄瓜测试将起作用。但是问题来自IntelliJ Cucumber插件,用于来自jar的步骤。在我从jar中使用的功能文件步骤中,将其显示为“未定义的步骤参考:...”。我什至不能直接从功能文件运行。

有没有一种方法可以配置黄瓜插件以使用来自classloader / jar的stepdefinations?

java maven intellij-idea cucumber cucumber-java
1个回答
0
投票

发布解决方案对我有用:

  • 也将带有源jar的Jar部署到Nexus

您可以通过在构建中添加maven-source-plugin插件来简单地完成此操作

    <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>3.2.0</version>
                    <executions>
                        <execution>
                            <id>attach-sources</id>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
    </build>

  • 在其他项目中添加依赖关系并确认源已从仓库下载

文件->项目结构->库->选择工件->源,确保它不是红色。

  • 更新IntelliJ以使用最新版本,对我来说IntelliJ 2019版不起作用,但是2020.1能够找到步骤定义。

PS:我将Java8与Lambda exp一起使用,并且可以确认它可以正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.