Java 调整maven测试的断言
我正在从事一个Java/Maven项目。我使用mvn测试来运行我的测试套件。但是,在这种情况下,所有断言都是启用的。不幸的是,这会将某些操作的时间从logn增加到n^2,这相当不方便。更重要的是,该操作是在依赖项packageA中定义的,而我在packageB上工作。使用纯Java我可以添加-ea:packageB。。。只启用我实际需要的断言。是否可以使用pom.xml的内容或mvn的命令行参数来实现此行为?我知道我可以禁用所有断言,但我更愿意将断言保留在我实际处理的包中…您可以使用surefire插件实现这一点。但首先需要为不同的包指定概要文件 使用surefire插件,您可以使用通配符或正则表达式排除或包含包Java 调整maven测试的断言,java,maven,junit,Java,Maven,Junit,我正在从事一个Java/Maven项目。我使用mvn测试来运行我的测试套件。但是,在这种情况下,所有断言都是启用的。不幸的是,这会将某些操作的时间从logn增加到n^2,这相当不方便。更重要的是,该操作是在依赖项packageA中定义的,而我在packageB上工作。使用纯Java我可以添加-ea:packageB。。。只启用我实际需要的断言。是否可以使用pom.xml的内容或mvn的命令行参数来实现此行为?我知道我可以禁用所有断言,但我更愿意将断言保留在我实际处理的包中…您可以使用surefi
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<includes>
<include>%regex[.*[Cat|Dog].*Test.*]</include>
</includes>
</configuration>
</plugin>
您可以找到更详细的信息。我使用以下属性:
<maven.test.skip>false</maven.test.skip>
<maven.test.failure.ignore>false</maven.test.failure.ignore>
然后您可以保持断言不变,但将这些属性更改为Assert.fail失败,或者根本不进行测试
或者类似地,使用CMD添加一个额外参数,如添加:
-Dmaven.test.skip=true
嗯,我不想包括/排除测试用例,我想启用/禁用断言语句…@hfhc2有什么区别?为什么您仍然希望执行测试,但不执行断言?你希望从中得到什么?相反,只排除您不想运行的包。好吧,我仍然需要assertTrue/assertEquals。。。要测试的语句…如果可以重构代码,可以尝试在基类中使用基本断言,在某些情况下在调度对象中省略所有断言。通过maven概要文件,您可以决定是需要所有断言,还是只需要基本断言。一般来说,您应该将单元测试划分为
<maven.test.skip>false</maven.test.skip>
<maven.test.failure.ignore>false</maven.test.failure.ignore>