java - 告诉 Eclipse 跳过测试

标签 java eclipse junit maven-2

有没有办法只告诉 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/

相关文章:

java - 使用 Gradle、JUnit 和 Mockito 的模块化 Java 的推荐项目结构

java - 错误 "Please fix the version conflict either by updating the version of the google-services"

java - 使用 Ant 在新的 jar 文件构建中包含外部 jar 文件

c++ - 在 C++ 和 Eclipse 上包含字符串类

java - 无法运行简单的JavaFX程序

android - 查看 Android Studio 中的测试输出 (stdout)

javascript - Cordova PhoneGap 从 2.2.0 升级到 5.1.1

java - Mockito - 底层服务为空

java - 在两个不同的插件中转换为相同的类型

java - Junit 用于可运行类和队列