Jav*_*Man 2 java cucumber spring-boot
尝试使用 Cucumber 执行 Spring Boot 项目时,我遇到以下错误。快速搜索错误告诉我,我的 pom 文件中需要 spring-tx 。我有一个问题不应该由 spring-boot-configuration-processor 等来处理吗?
Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/transaction/TransactionDefinition
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetPublicMethods(Class.java:2902)
at java.lang.Class.getMethods(Class.java:1615)
at cucumber.runtime.java.MethodScanner.scan(MethodScanner.java:40)
at cucumber.runtime.java.JavaBackend.loadGlue(JavaBackend.java:86)
at cucumber.runtime.Runtime.<init>(Runtime.java:92)
at cucumber.runtime.Runtime.<init>(Runtime.java:70)
at cucumber.runtime.Runtime.<init>(Runtime.java:66)
at cucumber.api.cli.Main.run(Main.java:35)
at cucumber.api.cli.Main.main(Main.java:18)
Caused by: java.lang.ClassNotFoundException: org.springframework.transaction.TransactionDefinition
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 11 more
Run Code Online (Sandbox Code Playgroud)
我基本上试图评估 Spring Boot 是否是 Cucumber + Selenium + API 等的更好选择,而不是使用以下项目https://github.com/sorin-costea/bdd的 vanilla spring
我不是回答谁应该处理这个问题,而是提供一个解决方案:
我猜当您从IntelliJ运行它时会发生这种情况,因为它会自动添加弹簧胶。
如果是这种情况,只需编辑Run/Debug Configurations并从胶水字段中删除弹簧参考即可。此外,您还可以添加 StepDefs 包。
为了防止将来出现这种情况,只需将 Step Defs 包添加到 Cucumber Java 模板中,如下所示Run/Debug Configurations
| 归档时间: |
|
| 查看次数: |
2483 次 |
| 最近记录: |