2014-12-13 88 views
0

我使用phpunit-spiderling和PHPUnit一起在PhantomJS上運行瀏覽器/功能測試,通過jonnyw/php-phantomjs進行安裝,後者依次在<project>/bin中安裝phantomjs二進制文件。由於該文件夾不在系統路徑,我需要這樣開始測試:PHPUnit可以在運行之前臨時重置系統路徑嗎?

PATH=$PATH:`pwd`/bin ./phpunit test/browser/tests 

這工作得很好,但我想我會需要將其凝結成原始命令時,我設置了託管CI ,沒有環境的前綴:

./phpunit test/browser/tests 

我已經嘗試了--bootstrap命令來運行system()命令重置系統路徑,但無濟於事,我不能看到介紹手冊中的任何東西怎麼辦這通過phpunit.xml。不幸的是,Spiderling使用了Phantom命令,並且希望在系統路徑中可見。

我也試過這樣做是一種setUp()測試方法,但這太遲了 - Spiderling已經嘗試過並且失敗了,可以在隨機端口上啓動PhantomJS。

(該命令./phpunit只是一個符號鏈接vendor/phpunit/phpunit/phpunit,這是通過作曲家安裝PHPUnit的)

回答

1

而且對這個問題,事實證明:

  • 託管CI工具提供了實現的途徑這PHPUnit的外
  • 特拉維斯,我現在用的,在標準路徑提供phantomjs反正

因此,雖然事實證明我不需要這個,但似乎有兩種方法可以實現它。由於我的方法需要執行反引號,因此我想知道env方法可能無法正常工作。然而,爲了完整性,這裏既是:

  • env辦法是在.travis.yml file的條目。
  • 您也可以嘗試用這樣的值before_script鍵:

    before_script: 
        - export PATH=`pwd`/bin:$PATH 
    

    由於工作目錄應設置爲項目的根目錄中,pwd加上子目錄應該添加新路徑系統路徑。

相關問題