有没有办法只告诉 Eclipse
跳过各种单独的 junit
测试(但仍然运行其余测试)?我熟悉 @Ignore
注释,但这不是我要找的,因为这会导致测试总是 被跳过。
我希望在由 eclipse (Run As -> Junit Test
) 运行时跳过测试,但在任何其他上下文中运行时,很可能是在 Maven 构建期间。
有什么想法吗?
最佳答案
到目前为止,以下解决方案运行良好。它不是一个完整的解决方案,因为它导致测试仅在从命令行调用 maven 时 由 maven 运行。但就目前而言,它有效。
当调用 maven 时,maven 命令行参数被放置在环境映射中 (System.getenv()
)。当测试通过 jUnit 在 eclipse 中运行时,System.getenv()
中没有用于 maven 命令行参数的条目。因此,我正在使用 jUnits Assume
类来检查此属性对于我希望 eclipse 跳过的测试是否不为 null。
代码:
Assume.assumeNotNull(System.getenv("MAVEN_CMD_LINE_ARGS"));
仅供引用,此解决方案的一个缺点是 eclipse 将测试标记为已通过而不是已跳过。
关于java - 告诉 Eclipse 跳过测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24004597/