忽略基于环境的测试用例

时间:2013-10-08 17:57:35

标签: unit-testing maven build junit

我如何让maven根据变量或构建配置文件忽略特定的测试用例?

我有一些涉及连接到LDAP服务器的测试用例。如果我使用特定的配置文件或maven变量构建到命令中,我将如何使这些测试用例被忽略?我不想忽略所有测试用例。

1 个答案:

答案 0 :(得分:1)

您的解决方案似乎分为两部分:(1)通过Maven通知流程它在给定配置中运行,以及(2)根据该配置有条件地运行测试。

第一点很简单:使用-D开关传递系统属性,如this SO answer所示,确认您需要使用系统属性在系统属性中传递系统属性作为参数surefire argLine property

mvn -DargLine="-DldapTests=disable" test

对于第二种情况,您可以在JUnit中使用新的assumeTrue和相关假设API,如this other SO answer中所述。

@Before
public void checkLdapTests() {
  assumeThat(System.getProperty("ldapTests"), is(not(equalTo("disable"))));
}