添加@RunWith for jbehave-junit-runner break使用Maven构建JBehave [英] Adding @RunWith for jbehave-junit-runner breaks JBehave build using Maven

查看:276
本文介绍了添加@RunWith for jbehave-junit-runner break使用Maven构建JBehave的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用JBehave和我在Eclipse中开发的Maven构建,有时在Eclipse中使用JUnit运行器进行单元测试。我发现jbehave-junit-runner很好地美化了JUnit赛跑者中的JBehave故事。但是,添加jbehave-junit-runner似乎已经破坏了我的Maven构建。



结果 mvn clean install 安装 https://github.com/codecentric/jbehave-junit-runner

  [INFO] ------------------------- ------------------------------------ 
[错误]编译错误:
[INFO] ----------------------------------------------- --------------
[ERROR] /Users/mosofsky/Developer/FollowerDownloader/followerdownloader-frontend/src/main/java/com/netbase/followerdownloader/FollowerDownloaderStories.java: [28,23]错误:package org.junit.runner不存在
[ERROR] / Users / mosofsky / Developer / FollowerDownloader / followerdownloader-frontend / src / main / java / com / netbase / followerdownloader / FollowerDownloaderStories。 java:[42,1]错误:找不到符号
[ERROR]符号:class RunWith
/ Users / mosofsky / Developer / FollowerDownloader / oader-frontend / src / main / java / com / netbase / followerdownloader / FollowerDownloaderStories.java:[28,23]错误:package org.junit.runner不存在
[ERROR] / Users / mosofsky / Developer / FollowerDownloader / followerdownloader-frontend / src / main / java / com / netbase / followerdownloader / FollowerDownloaderStories.java:[42,1]错误:找不到符号
[ERROR]符号:class RunWith
/ Users / mosofsky / Developer / FollowerDownloader / followerdownloader-frontend / src / main / java / com / netbase / followerdownloader / FollowerDownloaderStories.java:[50,28]错误:无法访问Runner
[INFO] 5错误
[信息] ------------------------------------------------ -------------
[INFO] ------------------------------ ------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------ ------------------------------
[INFO]总时间:2.043 s
[INFO]已完成at:2014-12-23T15:38:39-08:00
[INFO] Final Memory:14M / 156M
[INFO] ---------- -------------------------------------------------- ------------
[错误]执行目标无法执行org.apache.maven.plugins:maven-compiler-plugin:2.5.1:在项目跟踪器上编译(默认编译) -frontend:编译失败:编译失败:
[ERROR] /Users/mosofsky/Developer/FollowerDownloader/followerdownloader-frontend/src/main/java/com/netbase/followerdownloader/FollowerDownloaderStories.java:[28,23]错误:package org.junit.runner不存在
[ERROR] /Users/mosofsky/Developer/FollowerDownloader/followerdownloader-frontend/src/main/java/com/netbase/followerdownloader/FollowerDownloaderStories.java:[42, 1]错误:找不到符号
[ERROR]符号:class RunWith
[ERROR] / Users / mosofsky / Developer / FollowerDownloader / followerdownloader-frontend / src / main / java / com / netbase / followerdownloader / FollowerDownloaderStories.java:[28,23]错误:package org.junit.runner不存在
[ERROR] / Users / mosofsky / Developer / FollowerDownloader / followersdownloader -frontend / src / main / java / com / netbase / followerdownloader / FollowerDownloaderStories.java:[42,1]错误:找不到符号
[ERROR]符号:class RunWith
[ERROR] / Users / mosofsky / Developer / FollowerDownloader / followerdownloader-frontend / src / main / java / com / netbase / followerdownloader / FollowerDownloaderStories.java:[50,28]错误:无法访问Runner
[ERROR] - > [帮助1]
[ERROR]
[ERROR]要查看错误的完整堆栈跟踪,请使用-e开关重新运行Maven。
[ERROR]使用-X开关重新运行Maven以启用完整的调试日志记录。
[ERROR]
[ERROR]有关错误和可能的解决方案的更多信息,请阅读以下文章:
[错误] [帮助1] http://cwiki.apache.org / confluence / display / MAVEN / MojoFailureException

关于 https://github.com/codecentric/jbehave-junit-runner 破坏了我的构建?

解决方案

问题的解决方法是通过从pom.xml文件中的junit中删除测试元素来扩大junit的范围:

 <依赖关系> 
< groupId> junit< / groupId>
< artifactId> junit< / artifactId>
< version> 4.11< / version>
<! - < scope> test< / scope> - > <! - 解决方案:通过本行 - >
< / dependency>

我想我偶然发现了JBehave和行为驱动设计(BDD)的悖论:





如果我不再将junit的范围限制在 Maven标准测试目录



不过,我的解决方案解决了原来的问题。


I'm using JBehave with my Maven build which I also develop in Eclipse and sometimes run the my unit tests with the JUnit runner in Eclipse. I found jbehave-junit-runner works well for beautifying the JBehave stories in the JUnit runner. However, adding jbehave-junit-runner seems to have broken my Maven build.

Result of mvn clean install after installing https://github.com/codecentric/jbehave-junit-runner:

[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /Users/mosofsky/Developer/FollowerDownloader/followerdownloader-frontend/src/main/java/com/netbase/followerdownloader/FollowerDownloaderStories.java:[28,23] error: package org.junit.runner does not exist
[ERROR] /Users/mosofsky/Developer/FollowerDownloader/followerdownloader-frontend/src/main/java/com/netbase/followerdownloader/FollowerDownloaderStories.java:[42,1] error: cannot find symbol
[ERROR]   symbol: class RunWith
/Users/mosofsky/Developer/FollowerDownloader/followerdownloader-frontend/src/main/java/com/netbase/followerdownloader/FollowerDownloaderStories.java:[28,23] error: package org.junit.runner does not exist
[ERROR] /Users/mosofsky/Developer/FollowerDownloader/followerdownloader-frontend/src/main/java/com/netbase/followerdownloader/FollowerDownloaderStories.java:[42,1] error: cannot find symbol
[ERROR]   symbol: class RunWith
/Users/mosofsky/Developer/FollowerDownloader/followerdownloader-frontend/src/main/java/com/netbase/followerdownloader/FollowerDownloaderStories.java:[50,28] error: cannot access Runner
[INFO] 5 errors 
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.043 s
[INFO] Finished at: 2014-12-23T15:38:39-08:00
[INFO] Final Memory: 14M/156M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project followerdownloader-frontend: Compilation failure: Compilation failure:
[ERROR] /Users/mosofsky/Developer/FollowerDownloader/followerdownloader-frontend/src/main/java/com/netbase/followerdownloader/FollowerDownloaderStories.java:[28,23] error: package org.junit.runner does not exist
[ERROR] /Users/mosofsky/Developer/FollowerDownloader/followerdownloader-frontend/src/main/java/com/netbase/followerdownloader/FollowerDownloaderStories.java:[42,1] error: cannot find symbol
[ERROR] symbol: class RunWith
[ERROR] /Users/mosofsky/Developer/FollowerDownloader/followerdownloader-frontend/src/main/java/com/netbase/followerdownloader/FollowerDownloaderStories.java:[28,23] error: package org.junit.runner does not exist
[ERROR] /Users/mosofsky/Developer/FollowerDownloader/followerdownloader-frontend/src/main/java/com/netbase/followerdownloader/FollowerDownloaderStories.java:[42,1] error: cannot find symbol
[ERROR] symbol: class RunWith
[ERROR] /Users/mosofsky/Developer/FollowerDownloader/followerdownloader-frontend/src/main/java/com/netbase/followerdownloader/FollowerDownloaderStories.java:[50,28] error: cannot access Runner
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

What is it about https://github.com/codecentric/jbehave-junit-runner that broke my build?

解决方案

The solution to the problem is to broaden the scope of junit by removing the test element from the junit in the pom.xml file:

<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.11</version>
  <!-- <scope>test</scope> -->     <!-- SOLUTION: COMMENTED OUT THIS LINE -->
</dependency>

I think I stumbled into a paradox of JBehave and Behavior Driven Design (BDD):

I worry that my solution may have consequences for my production code if I'm no longer limiting the scope of junit to the Maven standard test directory.

Nevertheless, my solution did solve the original problem.

这篇关于添加@RunWith for jbehave-junit-runner break使用Maven构建JBehave的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆