程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> Github中自動測試工具 travis-ci的方法

Github中自動測試工具 travis-ci的方法

編輯:關於PHP編程

       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. 來顯示代碼的覆蓋率

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved