共勉
"诸君离学校而去了。在社会上立身的困难,恐怕比在学校里求学还要加甚。若非立志奋斗,则以前所受的教育,反足以增加人生的苦恼,或转为堕落的工具。这是诸君所当特别注意的。事业的成功,须经过长时间的辛苦艰难——成功的代价,走过了许多荆棘的路,方才能寻获康庄大道。立志是砍荆棘斧斤,奋斗是劳力。万不可希望以最少的劳力,获最大的成功。" -- 蒋梦麟
Knight's Blog
滴滴海浪技术主管, 前百度资深研发工程师,现居上海。 擅长于大规模的系统平台服务架构。在

- 亿级别搜索平台(sov5.cn)
- 大规模分布式爬虫
- 中间件架设(disconf,CanalX)
- 广告平台(百度联盟广告)
- 租车平台(滴滴租车)
- 语言招聘平台(51tra.com)
- 内容平台(100weidu.com)
- 社区平台(python88.com)
- 资源下载平台(misou.com)
- 计算机图形图像技术(一篇一作)
- 机器学习(一篇一作)

等领域具有颇有经验。
联系方式: 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

遇到的一些问题

5219 次点击