簡體   English   中英

Cucumber 測試用例未通過 Spring 啟動 Jar 運行

[英]Cucumber test case not running via Spring Boot Jar

When I am running my Spring boot Application via Eclipse I am able to execute my cucumber test(Main.run(requestParamter, contextClassLoader)) case but when I am running via Spring boot Jar I'm getting below exception.

測試用例無法成功執行,異常是:

 io.cucumber.core.exception.CucumberException: The resource
 jar:file:/C:/386619/iplus-qeas-0.0.1-SNAPSHOT.jar!/BOOT-INF/lib/validation-api-2.0.1.Final.jar!/
 is located in a nested jar.\n\nThis typically happens when trying to
 run Cucumber inside a Spring Boot Executable Jar.\nCucumber currently
 doesn't support classpath scanning in nested jars.\nFeel free to send
 a pull request to make this possible!\n\nYou can avoid this error by
 unpacking your application before executing.

您正在從可執行 jar 文件中運行 Cucumber。 這意味着如果您打開 jar 文件,您將看到如下內容:

https://docs.spring.io/spring-boot/docs/current/reference/html/appendix-executable-jar-format.html

example.jar
 |
 +-META-INF
 |  +-MANIFEST.MF
 +-org
 |  +-springframework
 |     +-boot
 |        +-loader
 |           +-<spring boot loader classes>
 +-BOOT-INF
    +-classes
    |  +-mycompany
    |     +-project
    |        +-YourClasses.class
    +-lib
       +-dependency1.jar
       +-dependency2.jar

現在 cucumber 正在掃描整個 class 路徑以查找膠水和特征文件。 這包括您在BOOT-INF/lib中的依賴項。 但是 Cucumber 無法打開這些。 然而,Cucumber 可以讀取BOOT-INF/classes的內容,因為這很像普通的 jar 文件。

所以嘗試通過--glue mycompany.project --features:classpath:mycompany/project 這樣 Cucumber 只會掃描BOOT-INF/classes的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM