我使用Codeception創建我的測試(雖然我是初學者,學習)。這包括現在的驗收和單元測試。Travis-CI可以運行Codeception測試嗎?
我想添加我的回購到Travis CI,這樣我就可以在每次提交後自動執行測試過程並將生成狀態標記。
我想問一下;
- Travis-CI可以運行代碼檢測嗎?
- Travis-CI可以運行模擬瀏覽器的代碼驗收測試嗎?
- 如果兩個答案都不是,還有沒有其他的CI工具可以?
謝謝。
我使用Codeception創建我的測試(雖然我是初學者,學習)。這包括現在的驗收和單元測試。Travis-CI可以運行Codeception測試嗎?
我想添加我的回購到Travis CI,這樣我就可以在每次提交後自動執行測試過程並將生成狀態標記。
我想問一下;
謝謝。
我認爲這是可以做到的,但把所有東西都粘在一起並不適合心靈的懦弱。我認爲可以做到這一點的原因是,這個代碼本身就是在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帳戶並從那裏運行分佈式硒測試。
我今天就遇到了這個問題,我加入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
是的,它可以運行代碼測試,包括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。