Github中自动测试工具 travis-ci的方法
来源: 阅读:1889 次 日期:2014-11-13 14:32: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 的帐号, 去的网站开通你这个项目的测试功能. 进入后, 点 "Travis CI for private Repositories ", 就会出现下面的图面. 就能见到你在 github 上的项目, 然后选择打开…注意你的项目中一定要有上面提到的文件.

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

测试的过程和结果查询

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

测试代码的覆盖率

根据 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 模块的支持, 所以上面让其先安装这个.

然后去里开启, 这个就会把 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