【问题标题】:Tell Eclipse to skip tests告诉 Eclipse 跳过测试
【发布时间】:2014-07-23 03:57:33
【问题描述】:
有没有办法只告诉Eclipse 跳过各种单独的junit 测试(但仍然运行其余测试)?我熟悉 @Ignore 注释,但这不是我想要的,因为这会导致测试 always 被跳过。
我希望在 eclipse (Run As -> Junit Test) 运行时跳过测试,但在任何其他上下文中运行,很可能是在 maven 构建期间。
有什么想法吗?
【问题讨论】:
标签:
java
eclipse
junit
maven-2
【解决方案1】:
到目前为止,以下解决方案运行良好。这不是一个完整的解决方案,因为它导致测试只能由 maven 在从命令行调用 maven 时运行。但就目前而言,它有效。
当 maven 被调用时,maven 命令行参数被放置在环境映射 (System.getenv()) 中。在 Eclipse 中通过 jUnit 运行测试时,System.getenv() 中没有 maven 命令行参数的条目。因此,我正在使用 jUnits Assume 类来检查该属性对于我希望 eclipse 跳过的测试是否为空。
代码:
Assume.assumeNotNull(System.getenv("MAVEN_CMD_LINE_ARGS"));
仅供参考,此解决方案的一个缺点是 eclipse 将测试标记为 通过 而不是 已跳过。