Github中自动测试工具 travis-ci的方法
来源: 阅读:717 次 日期:2014-10-30 08:27:15
温馨提示: 小编为您整理了“Github中自动测试工具 travis-ci的方法”,方便广大网友查阅!

travis-ci. 它就是一个云端持续集成服务, 这个工具会在你每次 push 进行代码提交的时候, 进行代码的功能测试, 来运行 Perl 模块目录下 t/ 目录下的所有测试. 这个测试是会自动创建一个虚拟机, 并可以测试不同的 Perl 版本. 如果通过就会显示绿色, 不通过就会显示红色, 非常方便.

DSL方式的配置

要使用这个功能, 只需要在你的 Github 上的 Perl 模块中加入一个 ".travis.yml" 的配置文件, 这样能自动监控你 Github 上代码的变动, 并自动提交测试了.

象常用的 Perl 配置测试象如下的内容

代码如下

language: perl

perl:

- "5.20"

- "5.18"

- "5.16"

- "5.14"

- "5.12"

- "5.10"

env:

- "HARNESS_OPTIONS=j9 TEST_POD=1 TEST_EV=1 TEST_IPV6=1 TEST_SOCKS=1 TEST_TLS=1"

install:

- "cpanm -n Test::Pod Test::Pod::Coverage EV IO::Socket::IP IO::Socket::Socks IO::Socket::SSL"

- "cpanm -n --installdeps ."

notifications:

email: false

先通过上面的 language 来指定你项目的语言. 然后接下来指定你需要用来测试的 Perl 版本. 可以写上在测试之前你需要安装什么模块之类.

Github 和 Travis CI 集成

以上配置文件配置完了, 放入到你的 git 项目的目录下以后, 就需要你通过 github 的帐号, 去 https://travis-ci.org 的网站开通你这个项目的测试功能. 进入后, 点 "Travis CI for private Repositories ", 就会出现下面的图面. 就能见到你在 github 上的项目, 然后选择打开…注意你的项目中一定要有上面提到的文件.

这样做完以后, 以后每次你提交代码到 github 的时候, 这个工具就会自动创建一个干净的虚拟机, 然后通过你指定的 Perl 版本进行自动化的测试了.

测试的过程和结果查询

你可以写上 notifications 来通知你测试结果, 另外你也可以到 https://travis-ci.com/ 的网站查看详细的测试的结果, 如下显示, 如果是红色表示失败, 你直接点开红色可以见到详细的失败原因和测试的过程.

测试代码的覆盖率

根据 Fayland 的指导…又发现了一个好玩的东西. 比如我们在上面的 ".travis.yml" 的配置文件, 加入如下内容

代码如下

before_install:

- "cpanm Mojo::UserAgent"

- "cpanm Test::More"

- "cpanm Devel::Cover::Report::Coveralls"

script:

perl Makefile.PL && make test && cover -test -report coveralls

主要是加入了 cover -test -report coveralls 这部分. 因为它需要 Devel::Cover::Report::Coveralls 模块的支持, 所以上面让其先安装这个.

然后去 https://coveralls.io 里开启, 这个就会把 cover 的数据发送到那个网站.

这样然后还可以github page上加上 badges. 来显示代码的覆盖率

更多信息请查看IT技术专栏

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!

2025国考·省考课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map