一、maven-surefire-plugin简介
maven-surefire-plugin支持JUnit和TestNG。默认情况下,maven-surefire-plugin的test目标会自动执行测试源码路径下所有以Test开头、Test或TestCase结尾的的Java类。
二、跳过测试
如果想跳过测试阶段,可用:
mvn package -DskipTests
想临时性跳过测试代码的编译,可用:
mvn package -Dmaven.test.skip=true
maven.test.skip同时控制maven-compiler-plugin和maven-surefire-plugin两个插件的行为,即跳过编译,又跳过测试。
三、手动指定测试用例
maven-surefire-plugin的test参数用来指定要运行的测试用例:
//指定测试类
mvn test -Dtest=RandomGeneratorTest
//以Random开头,Test结尾的测试类
mvn test -Dtest=Random*Test
//用逗号分隔指定多个测试用例
mvn test -Dtest=ATest,BTest
test参数必须匹配至少一个测试类,否则会报错并导致构建失败。此时可使用:
mvn test -Dtest -DfailIfNoTests = false
来指定即使没有任何测试用例也不要报错。
四、包含与排除测试用例
<plugin>
<groupId>org.apahce.maven.plugins<groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.5</version>
<configuration>
<includes>
<include>** / *Tests.java</include>
</includes>
</configuration>
</plugin>
使用** / * Test.java 来匹配所有以Tests结尾的Java类。两个星号**用来匹配任意路径,一个星号*用来获取除路径风格符外的0个或多个字符。还可使用excludes来排除一些测试类。
五、测试报告
1.基本的测试报告
默认情况下,maven-surefire-plugin会在项目的target/surefire-reports目录下生成两种格式的错误报告:
XML可用Eclipse的JUnit插件打开?
2.测试覆盖率报告
Cobertura是一个用来测试覆盖率统计工具。Maven通过cobertura-maven-plugin插件与之集成,命令如下:
mvn cobertura:cobertura
六、运行TestNG测试
TestNG支持使用xml来配置要运行的测试用例。可用:
<configuration>
<suiteXmlFiles>
<suiteXmlFile>testing.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
TestNG还支持测试组
<configuration>
<groups>util,medium</groups>
</configuration>
七、重用测试代码
通过配置maven-jar-plugin将测试类打包
<plugin>
<groupId>org.apahce.maven.plugins<groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
打包后可以声明依赖:
<groupId></groupId>
<artifactId></artifactId>
<version></version>
<type>test-jar</type>
<scope>test</scope>
分享到:
相关推荐
maven项目,单元测试jacoco、junit...........................................................................................
【标题】"dubbo单元测试maven项目"指的是在基于Maven构建的Java项目中,对采用Dubbo框架实现的服务进行单元测试的过程。Dubbo是一个高性能、轻量级的开源Java RPC框架,它提供了服务治理功能,包括服务注册、服务...
【标题】:“jacoco单元测试覆盖率+maven DEMO”是一个示例项目,旨在演示如何使用JaCoCo工具和Maven构建工具来计算Java项目的单元测试覆盖率。JaCoCo是一款流行的开源代码覆盖率工具,它能够帮助开发者了解代码在...
其中,“测试”阶段主要对应于单元测试,Maven会自动查找项目中的src/test/java目录下的所有以Test结尾的类并运行其包含的测试方法。如果使用了JUnit,测试类的命名通常遵循@Test注解的约定。 除了单元测试,Maven...
使用Maven运行单元测试 将项目安装到Maven本地资源库 生成基于Maven的项目文档站点 使用“mvn site-deploy”部署站点(WebDAV例子) 部署基于Maven的war文件到Tomcat Eclipse创建一个Maven Web项目 在易百教程网...
maven打包跳过test命令 命令行方式跳过测试 我们可以用两种命令来跳过测试 ...使用maven.test.skip,不但跳过单元测试的运行,也跳过测试代码的编译; 使用 mvn package -DskipTests 跳过单元测试,但是会继续编译。
Maven使用`s surefire-plugin`插件来执行Java应用程序的单元测试,这个插件提供了丰富的配置选项来控制测试的执行方式。 ### 跳过测试类的打包配置 假设我们的目标是在构建过程中完全跳过所有测试类的执行,可以...
例如,你可以创建一个名为`MyServiceTest`的测试类,使用`@Autowired`注解注入服务实例,然后使用Mockito模拟其他依赖,进行单元测试。 总之,正确配置Spring Boot测试类的Maven依赖,可以帮助开发者编写高效、全面...
**结合TestNG进行单元测试** TestNG是另一个常用的Java测试框架,它提供了更丰富的测试功能,如测试分组、依赖、并行测试等。将JaCoCo与TestNG结合,可以得到详细的测试覆盖率报告。在`pom.xml`中配置TestNG插件,...
Maven 2 内置了支持JUnit和其他测试框架的机制,可以自动运行单元测试,并生成测试报告。`mvn test`命令即可执行测试,`mvn install`则会在测试成功后将项目打包并安装到本地仓库。 **7. 部署与发布** `mvn deploy`...
测试环节,可以使用JUnit进行单元测试,验证单个函数或方法的正确性;对于接口和页面,可以利用MockMvc进行模拟请求测试;对于数据库操作,可以编写SQL查询验证数据的正确存储和读取。最后,通过Maven的deploy阶段,...
src/main/java 目录用于存放项目的 Java 文件,src/main/resources 目录用于存放项目资源文件,src/test/java 目录用于存放单元测试文件,target 目录用于存放编译后的 class 文件。 10. IDEA 中的 Maven 项目 在 ...
- **测试**:`mvn test`,执行项目的单元测试。 - **打包**:`mvn package`,将编译后的类文件打包成 JAR 文件或 WAR 文件等。 - **安装**:`mvn install`,将构建好的包安装到本地仓库。 - **站点生成**:`mvn ...
4. **测试与部署**:完成编码后,使用Maven进行单元测试和集成测试,最后通过`mvn package`打包成war文件,部署到应用服务器上。 ** Maven分模块搭建SSH ** 在大型项目中,通常采用模块化开发,以提高代码的可维护...
该规范涵盖了JAVA单元测试的指引,覆盖了测试的需求、测试颗粒化、测试自动化、持续维护等方面,并提供了Maven和Junit的使用指南,旨在帮助研发人员编写高质量的单元测试代码。 在软件开发中,测试是非常重要的一步...
开发者通常会在命令行中执行`mvn clean compile`来清理旧的编译产物并进行新代码的编译,`mvn test`运行单元测试,`mvn package`则会将项目打包成可部署的形式,如JAR或WAR文件。 在实际开发中,Maven通过在`pom....
通过以上介绍,我们可以看到,在用友NC框架中使用Junit进行单元测试不仅可以帮助我们更高效地进行代码测试,还能显著减少不必要的登录过程,大大节省了时间和精力。希望这些小技巧能够对您在实际开发过程中有所帮助...
4. **测试**:Maven的surefire插件可以帮助执行单元测试。 5. **部署**:使用Maven的deploy插件,可以将构建好的应用部署到远程服务器。 6. **持续集成**:Maven与Jenkins、Git等工具配合,可以实现自动化构建和...
- `mvn compile`仅编译源代码,`mvn test`执行单元测试,`mvn clean`清理生成的文件。 - 使用`mvn eclipse:eclipse`将项目转化为Eclipse工程。 - Web项目: - 创建Web项目的过程类似,但生成的项目结构会包含...