告诉Eclipse跳过测试

时间:2014-06-02 22:58:09

标签: java eclipse junit maven-2

有没有办法只告诉Eclipse跳过各种junit测试(但仍会运行其余的测试)?我熟悉@Ignore注释,但这不是我想要的,因为这将导致测试始终被跳过。

我希望在eclipse(Run As -> Junit Test)运行时跳过测试,但在任何其他环境中运行,很可能在maven构建期间运行。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

到目前为止,以下解决方案运作良好。它不是一个完整的解决方案,因为它导致测试仅在从命令行调用maven时由maven 运行。但就目前而言,它确实有效。

当调用maven时,maven命令行参数将放置在环境映射(System.getenv())中。当测试在eclipse中通过jUnit运行时,System.getenv()中没有maven命令行参数的条目。所以,我使用jUnits Assume类检查这个属性对于我希望eclipse跳过的测试不为null。

代码:

Assume.assumeNotNull(System.getenv("MAVEN_CMD_LINE_ARGS"));

仅供参考,这个解决方案的一个缺点是eclipse将测试标记为传递而不是跳过