2012-02-20 53 views
0

我有我的RbcTest.php在測試/單元目錄 在bash腳本中單詞「test」是關鍵字嗎? 我使用vi編輯器,它的詞是黃色的,只要我改變測試來測試整個路徑是紫色的?運行一個測試/單元/ RbcTest.php從bash腳本目錄不工作

export WORKSPACE=phoenix 
export SYMFONY=$WORKSPACE/usr/share/php/data/symfony 
(cd $WORKSPACE 
    echo ${PWD} 
    echo "6. Clearing the cache" 
    ./symfony cc 
    echo "7. Run unit test" 
    php test/unit/RbcTest.php 
) 

警告和錯誤:

7. Run unit test 
    PHP Warning: require_once(/usr/share/php/symfony/autoload/sfCoreAutoload.class.php): failed to open stream: No such file or directory in /var/lib/jenkins/workspace/b32b733b59ba6be9884da7427bee5c95/phoenix/config/ProjectConfiguration.class.php on line 3 
    PHP Stack trace: 
    PHP 1. {main}() /var/lib/jenkins/workspace/b32b733b59ba6be9884da7427bee5c95/phoenix/test/unit/RbcTest.php:0 
    PHP 2. require_once() /var/lib/jenkins/workspace/b32b733b59ba6be9884da7427bee5c95/phoenix/test/unit/RbcTest.php:3 
    PHP 3. require_once() /var/lib/jenkins/workspace/b32b733b59ba6be9884da7427bee5c95/phoenix/test/bootstrap/unit.php:14 
    PHP Fatal error: require_once(): Failed opening required '/usr/share/php/symfony/autoload/sfCoreAutoload.class.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/lib/jenkins/workspace/b32b733b59ba6be9884da7427bee5c95/phoenix/config/ProjectConfiguration.class.php on line 3 
    PHP Stack trace: 
    PHP 1. {main}() /var/lib/jenkins/workspace/b32b733b59ba6be9884da7427bee5c95/phoenix/test/unit/RbcTest.php:0 
    PHP 2. require_once() /var/lib/jenkins/workspace/b32b733b59ba6be9884da7427bee5c95/phoenix/test/unit/RbcTest.php:3 
    PHP 3. require_once() /var/lib/jenkins/workspace/b32b733b59ba6be9884da7427bee5c95/phoenix/test/bootstrap/unit.php:14 

感謝

回答

1

在bash腳本test確實是一個關鍵詞,雖然在這種情況下,六是一頭霧水。您可以使用test,例如,在if條款:

if test -f /etc/fstab; then 
    echo "/etc/fstab exists" 
fi 

我從來不使用這個keywoard,因爲你也可以使用[相反,我覺得這更漂亮:

if [ -f /etc/fstab ]; then 
    echo "/etc/fstab exists" 
fi 

爲了避免VI凸顯它作爲關鍵字,使用字符串:

php "test/unit/RbcTest.php" 

至於爲什麼你的腳本不能正常工作,它會幫助,如果你能澄清你是什麼錯誤〜 ETTING。也許你可以試試這個:

  1. 標記您的bash腳本爲可執行文件:chmod +x script.sh
  2. 將這個標籤就在你的腳本的頂部指定解釋:#!/bin/bash
+0

我把它當作一道可執行文件,並且我有#!/ bin/bash在頂部。此腳本是Jenkins在單擊構建時執行的腳本。當我從命令行運行這個腳本時,一切正常。當詹金斯運行它時,我收到警告和錯誤。請發表主文章謝謝:) – 2012-02-21 06:40:35

+0

未找到包含在PHP腳本中的文件。你知道你有Symfony文件嗎?什麼是'test/boostrap/unit.php'包括? – 2012-02-21 14:12:23