Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 忽略基于环境的测试用例_Unit Testing_Maven_Build_Junit - Fatal编程技术网

Unit testing 忽略基于环境的测试用例

Unit testing 忽略基于环境的测试用例,unit-testing,maven,build,junit,Unit Testing,Maven,Build,Junit,我如何让maven忽略基于变量或构建概要文件的特定测试用例 我有几个涉及连接到LDAP服务器的测试用例。如果我正在构建一个特定的概要文件,或者将一个maven变量传递到命令中,那么如何忽略这些测试用例?我不希望忽略所有测试用例 您的解决方案似乎分为两部分:(1)通过Maven通知流程它正在给定配置中运行,以及(2)基于该配置有条件地运行测试 第一位很简单:使用-D开关传入系统属性,如中所示,确认需要使用以下命令将系统属性作为系统属性内的参数传入: 对于第二种情况,您可以在JUnit中使用新的as

我如何让maven忽略基于变量或构建概要文件的特定测试用例


我有几个涉及连接到LDAP服务器的测试用例。如果我正在构建一个特定的概要文件,或者将一个maven变量传递到命令中,那么如何忽略这些测试用例?我不希望忽略所有测试用例

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

第一位很简单:使用
-D
开关传入系统属性,如中所示,确认需要使用以下命令将系统属性作为系统属性内的参数传入:

对于第二种情况,您可以在JUnit中使用新的
assumeTrue
和相关的假设API,如中所示


按照单元测试和集成测试的思路划分测试对您来说有意义吗?或者您是否有其他不需要LDAP且可能始终运行的集成测试?我可以拆分测试,您是否暗示按测试套件拆分?我也在寻找一种方法,让maven接受某种输入,说“我可以在这里运行测试”,或者说我不能完全满足我的要求!它适用于我使用
mvn-DldapTests=disable test
mvn -DargLine="-DldapTests=disable" test
@Before
public void checkLdapTests() {
  assumeThat(System.getProperty("ldapTests"), is(not(equalTo("disable"))));
}