Cucumber中如何将Glue代码配置到外部库?
问题解答
错误含义解析
你遇到的异常是因为Cucumber无法识别你在Glue配置中使用的JAR路径格式。你写的C:\Users\MY_NAME\.m2\repository\com\reissue-automation\2.0.3-SNAPSHOT\reissue-automation-2.0.3-SNAPSHOT-tests.jar!\com.reissue.automation.stepdefinitions这种带!的路径写法不符合Cucumber的Glue配置规则,导致解析时包名被截断(异常里的eissueautomationstepdefinitions就是截断后的错误内容),最终触发配置解析失败。
外部库引入Glue代码的可行性
完全可以从外部库引入Glue代码,但得用正确的方式配置:
通过构建工具引入依赖
不要手动把JAR加为外部库,而是用Maven或Gradle将这个测试JAR作为项目依赖引入。比如Maven的pom.xml里可以这么配置:<dependency> <groupId>com</groupId> <artifactId>reissue-automation</artifactId> <version>2.0.3-SNAPSHOT</version> <scope>test</scope> <type>test-jar</type> </dependency>这样构建工具会自动把JAR放到类路径里,不需要你手动指定路径。
简化Glue配置为包名
在IntelliJ的Cucumber运行配置里,Glue只需要填对应的包名就行,不用带JAR路径:com.edge.automation com.reissue.automation.stepdefinitions只要JAR在类路径中,Cucumber会自动扫描这些包下的Step Definitions,IntelliJ也能正常识别Gherkin语句并运行。
总结
你的问题出在Glue配置的格式错误上,改用构建工具管理外部JAR依赖,然后直接配置包名就能解决问题,外部库的Glue代码是Cucumber完全支持的场景。
内容的提问来源于stack exchange,提问作者Ethan Miller
相关产品推荐
相关产品推荐

