Knight's Blog
百度资深研发工程师,现居上海。互联网广告从业者。 擅长于大规模的系统平台服务架构。在招聘平台、社交平台、社区平台、 资源下载平台、计算机图形图像技术等领域也颇有经验。
联系方式: knightliao AT gmail.com
联系
Knight's Blog » 工作

为您的Github添加 自动化测试、覆盖率 等插件

2014-08-27 22:42

travis-ci

https://travis-ci.org

使用它可以在你提交代码时自动化为你的代码进行自动化测试。

使用起来非常简单,

https://github.com/knightliao/disconf

文件内容是

language: java

就行了

具体配置可见: http://docs.travis-ci.com/user/languages/java/

如何在Github上显示

单击上面图片的右上角

选择Markdown模式

将代码放在你的Github的Readme.md里就行啦,示意如下:

coveralls

https://coveralls.io

使用它可以在你代码提交化自动化为测试您代码的覆盖率

具体方法可以参见: https://github.com/trautonen/coveralls-maven-plugin

详细如下:

  • 在你的POM里添加以下plugin代码:

    <plugin>
        <groupId>org.eluder.coveralls</groupId>
        <artifactId>coveralls-maven-plugin</artifactId>
        <version>3.1.0</version>
        <configuration>
            <repoToken>yourcoverallsprojectrepositorytoken</repoToken>
        </configuration>
    </plugin>
    
  • 在你的POM里添加以下plugin代码:

    <!-- 覆盖率 -->
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>cobertura-maven-plugin</artifactId>
        <version>2.6</version>
        <configuration>
            <encoding>UTF-8</encoding>
            <aggregate>true</aggregate>
            <formats>
                <format>xml</format>
                <format>html</format>
            </formats>
            <instrumentation>
                <excludes>
                    <exclude>**/*Proto.class</exclude>
                    <exclude>**/*Proto$*.class</exclude>
                    <exclude>**/*Test.class</exclude>
                    <exclude>**/*Controller.class</exclude>
                    <exclude>**/*Vo.class</exclude>
                    <exclude>**/*Form.class</exclude>
                </excludes>
            </instrumentation>
        </configuration>
    </plugin>
    
  • 修改你的 .travis.yml 文件内容为:

    language: java
    
    after_success:
    - mvn clean cobertura:cobertura coveralls:report
    

这样就行啦。每当你CI代码,就会自动化去执行覆盖率的检查。

如果 你想在本地进行 覆盖率的测试,可以这样:

    mvn clean cobertura:cobertura coveralls:report -DrepoToken=你的TOken

之所以在本地测试时需要提供这么多参数是因为,服务器上已经含有你的信息。而你在本地执行时,需要你提供这些信息他才能进行覆盖率测试。

注意,你的Token不能公开暴露,否则,其它人就可以通过这个Token来修改你的覆盖率信息。

添加到Github页面上

http://ww2.sinaimg.cn/bmiddle/60c9620fgw1ejrkp2vim5j20gr02pglo.jpg

遇到的一些问题

4016 次点击