2013-09-01 271 views
16

我使用Codeception創建我的測試(雖然我是初學者,學習)。這包括現在的驗收和單元測試。Travis-CI可以運行Codeception測試嗎?

我想添加我的回購到Travis CI,這樣我就可以在每次提交後自動執行測試過程並將生成狀態標記。

我想問一下;

  1. Travis-CI可以運行代碼檢測嗎?
  2. Travis-CI可以運行模擬瀏覽器的代碼驗收測試嗎?
  3. 如果兩個答案都不是,還有沒有其他的CI工具可以?

謝謝。

回答

2

我認爲這是可以做到的,但把所有東西都粘在一起並不適合心靈的懦弱。我認爲可以做到這一點的原因是,這個代碼本身就是在Travis上發佈的。見https://travis-ci.org/Codeception/Codeception。我會在知情的情況下聯繫他們並詢問他們的想法。

或者你可以在他們是如何做到在構建日誌,比如偷看: https://travis-ci.org/Codeception/Codeception/jobs/14432638 看起來他們正在運行一個獨立的下載服務器硒無頭。

Travis-ci有some information on how to run GUI tests。特別是,它們允許您使用sauce labs帳戶並從那裏運行分佈式硒測試。

0

我今天就遇到了這個問題,我加入Codeception我composer.json解決了這個問題:

"require-dev": { 
    "codeception/codeception": "^2.1" 
}, 

,並指它在我的.travis.yml

install: 
    - composer self-update 
    - composer install 

before_script: 
    - #Code that creates and seeds my database and so on 

script: php vendor/codeception/codeception/codecept run 
5

是的,它可以運行代碼測試,包括Travis CI上使用WebDriver運行的驗收測試。

這是possible to run your tests with a real browser on Travis,但它是最簡單的使用無頭瀏覽器,因爲特拉維斯運行在無頭機器上。 PhantomJS是完美的,它預裝了Travis CI的build bootstrap。

運行與PhantomJS測試,你需要配置模塊的webdriver像這樣在你的.yml Codeception配置文件:

modules: 
    config: 
     WPWebDriver: 
      url: 'http://127.0.0.1:8888' 
      browser: phantomjs 

的網址是很重要的。我發現嘗試使用localhost而不是127.0.0.1將不起作用。此外,如果您不小心遺漏了http://,那也不起作用。您可以使用大多數8***端口,因爲它們大多數都是開放的,但是當然您需要在該端口上運行Web服務器來爲您的靜態文件提供服務或運行PHP應用程序。我發現,最簡單的方法是使用PHP內置的網絡服務器。

.travis.yml文件可能是這個樣子:

# Travis CI configuration file. 

language: php 

php: 
    - 5.6 
    - 7.0 

before_script: 
    # Start up a web server. 
    - php -S 127.0.0.1:8888 -t /path/to/web/root >/dev/null 2>&1 & 
    # Start up the webdriver. 
    - phantomjs --webdriver=4444 >/dev/null 2>&1 & 
    # Install Codeception. 
    # Doing this last gives the webdriver and server time to start up. 
    - composer install --prefer-source 

script: 
    - vendor/bin/codecept run 

你當然需要Codeception添加到您的項目的composer.json文件:

composer require --dev codeception/codeception 

您還需要上述改變path/to/web/root到您希望服務器的文檔根目錄所在的目錄的路徑。

如果您希望看到一個正在運行的WebDriver針對WordPress的測試演示,您可以查看this GitHub repo

相關問題