travis-ci. 它就是一個(gè)云端持續(xù)集成服務(wù), 這個(gè)工具會(huì)在你每次 push 進(jìn)行代碼提交的時(shí)候, 進(jìn)行代碼的功能測(cè)試, 來(lái)運(yùn)行 Perl 模塊目錄下 t/ 目錄下的所有測(cè)試. 這個(gè)測(cè)試是會(huì)自動(dòng)創(chuàng)建一個(gè)虛擬機(jī), 并可以測(cè)試不同的 Perl 版本. 如果通過(guò)就會(huì)顯示綠色, 不通過(guò)就會(huì)顯示紅色, 非常方便.
DSL方式的配置
要使用這個(gè)功能, 只需要在你的 Github 上的 Perl 模塊中加入一個(gè) ".travis.yml" 的配置文件, 這樣能自動(dòng)監(jiān)控你 Github 上代碼的變動(dòng), 并自動(dòng)提交測(cè)試了.
象常用的 Perl 配置測(cè)試象如下的內(nèi)容
代碼如下:
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
先通過(guò)上面的 language 來(lái)指定你項(xiàng)目的語(yǔ)言. 然后接下來(lái)指定你需要用來(lái)測(cè)試的 Perl 版本. 可以寫(xiě)上在測(cè)試之前你需要安裝什么模塊之類(lèi).
Github 和 Travis CI 集成
以上配置文件配置完了, 放入到你的 git 項(xiàng)目的目錄下以后, 就需要你通過(guò) github 的帳號(hào), 去的網(wǎng)站開(kāi)通你這個(gè)項(xiàng)目的測(cè)試功能. 進(jìn)入后, 點(diǎn) "Travis CI for private Repositories ", 就會(huì)出現(xiàn)下面的圖面. 就能見(jiàn)到你在 github 上的項(xiàng)目, 然后選擇打開(kāi)…注意你的項(xiàng)目中一定要有上面提到的文件.
這樣做完以后, 以后每次你提交代碼到 github 的時(shí)候, 這個(gè)工具就會(huì)自動(dòng)創(chuàng)建一個(gè)干凈的虛擬機(jī), 然后通過(guò)你指定的 Perl 版本進(jìn)行自動(dòng)化的測(cè)試了.
測(cè)試的過(guò)程和結(jié)果查詢(xún)
你可以寫(xiě)上 notifications 來(lái)通知你測(cè)試結(jié)果, 另外你也可以到 的網(wǎng)站查看詳細(xì)的測(cè)試的結(jié)果, 如下顯示, 如果是紅色表示失敗, 你直接點(diǎn)開(kāi)紅色可以見(jiàn)到詳細(xì)的失敗原因和測(cè)試的過(guò)程.
測(cè)試代碼的覆蓋率
根據(jù) Fayland 的指導(dǎo)…又發(fā)現(xiàn)了一個(gè)好玩的東西. 比如我們?cè)谏厦娴?".travis.yml" 的配置文件, 加入如下內(nèi)容
代碼如下:
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 這部分. 因?yàn)樗枰?Devel::Cover::Report::Coveralls 模塊的支持, 所以上面讓其先安裝這個(gè).
然后去 里開(kāi)啟, 這個(gè)就會(huì)把 cover 的數(shù)據(jù)發(fā)送到那個(gè)網(wǎng)站.
這樣然后還可以github page上加上 badges. 來(lái)顯示代碼的覆蓋率
更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄