美文网首页mavenmavenMaven CookBook笔记
Maven插件教程(3)——Surefire插件进行单元测试

Maven插件教程(3)——Surefire插件进行单元测试

作者: 飞扬小初 | 来源:发表于2017-08-16 13:36 被阅读38次

    软件开发工程中最好的实践就是为每个方法和每个类进行单元测试,Maven通过Surefire插件支持单元测试功能。、

    Maven运行单元测试

    通过敲入mvn test命令,我们可以调用test阶段。由于test阶段处于default生命周期中,所以default生命周期中处于test之前的阶段会被一一调用。test阶段触发Surefire的test目标,这个目标会自动运行项目中的单元测试。

    查看target/surefire-reports目录,可以看到单元测试的报告文件。

    图片.png

    用浏览器打开查看:

    图片.png

    这是使用了testNG作为单元测试框架得到的可视化单元测试报告。为了使用testNG,需要先添加dependency,具体如下:

    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>6.8.8</version>
        <scope>test</scope>
    </dependency>
    

    当然,具体的版本可以按照自己的需要做选择。

    跳过单元测试

    有时并不想每次都运行一遍单元测试,或者对于不太成熟的团队,并不是所有的单元测试都能通过,此时可能需要跳过单元测试。
    跳过单元测试有2中方法,其一是配置Surefire插件的配置,配置其configuration,配置方式如下:

    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.17</version>
            <configuration>
            <skipTests>true</skipTests>
            </configuration>
        </plugin>
    </plugins>
    

    通过配置skipTests来选择是否跳过单元测试。

    图片.png

    这种方式虽然可以跳过单元测试,但是并不能跳过编译单元测试的代码。也就是说,如果单元测试的代码有问题,还是会出现错误。有没有办法直接连单元测试的代码都跳过呢?当然有,那就是直接跳过test阶段。
    mvn –Dmaven.test.skip=true package
    通过这个命令,就可以跳过test阶段,直接从compile到package阶段。

    图片.png

    从运行的进程来看,test阶段的三个目标都被跳过了。

    相关文章

      网友评论

        本文标题:Maven插件教程(3)——Surefire插件进行单元测试

        本文链接:https://www.haomeiwen.com/subject/nwjirxtx.html