Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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
Maven 排除自动测试而不使用@test_Maven_Testing_Junit - Fatal编程技术网

Maven 排除自动测试而不使用@test

Maven 排除自动测试而不使用@test,maven,testing,junit,Maven,Testing,Junit,我们有一个Java项目,它依赖Junit和故障保护插件来执行测试用例。为了选择要执行的测试用例,我们创建了自己的@Category注释,并用注释标记要执行的每个测试。在pom.xml中,我们添加了引用注释的参数。 这种方法很好,而且行之有效。 现在,我想做的是: -为了摆脱@Category注释,标记每个要执行的测试是很无聊的 -找到一种方法自动排除所有没有@Test的测试(我们有一些不需要自己执行的超类) 例如,我有一个超级类SetEnvConditionTest.java,然后是它的子类Ve

我们有一个Java项目,它依赖Junit和故障保护插件来执行测试用例。为了选择要执行的测试用例,我们创建了自己的@Category注释,并用注释标记要执行的每个测试。在pom.xml中,我们添加了引用注释的参数。 这种方法很好,而且行之有效。 现在,我想做的是: -为了摆脱@Category注释,标记每个要执行的测试是很无聊的 -找到一种方法自动排除所有没有@Test的测试(我们有一些不需要自己执行的超类)

例如,我有一个超级类SetEnvConditionTest.java,然后是它的子类VerifyLogIn。SetEnvCondition只有两种方法;安装和拆卸,当我执行VerifyLogin时,它调用父安装方法(与拆卸相同),然后调用标记为“@Test”的方法。SetEnvCondition类没有“@Test”方法(我只在设置环境时需要它),如果执行它,则会出现“missing Test method”异常

有办法吗


感谢您

根据命名约定对测试类别进行第一次分离(详细信息请参见插件文档)。一个用于单元测试(将由maven surefire插件运行)和集成测试(将由maven failsafe插件运行)。你能给出一个更具体的例子吗?首先,假设所有的测试都是为了集成,我不需要在集成和单元测试之间进行多样化。所以你应该按照命名约定命名,比如说……按照约定命名是不够的。你看过这个例子了吗?最后,我们用后缀“Base”重命名了这个超类,并按照你的建议利用了命名约定。