从bash脚本目录运行test/unit/RbcTest.php不起作用
我的RbcTest.php位于test/unit目录中 在bash脚本中,“test”是一个关键字吗? 我使用vi编辑器,它的单词是黄色的,只要我将测试更改为测试,整个路径就是紫色的从bash脚本目录运行test/unit/RbcTest.php不起作用,bash,jenkins,Bash,Jenkins,我的RbcTest.php位于test/unit目录中 在bash脚本中,“test”是一个关键字吗? 我使用vi编辑器,它的单词是黄色的,只要我将测试更改为测试,整个路径就是紫色的 export WORKSPACE=phoenix export SYMFONY=$WORKSPACE/usr/share/php/data/symfony (cd $WORKSPACE echo ${PWD} echo "6. Clearing the cache" ./symfony
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
感谢在Bash脚本中,test确实是一个关键字,尽管在本例中vi只是被混淆了。您可以使用
test
,例如,在if
子句中:
if test -f /etc/fstab; then
echo "/etc/fstab exists"
fi
我从不使用这个键盘,因为你也可以用[
来代替,我觉得它更漂亮:
if [ -f /etc/fstab ]; then
echo "/etc/fstab exists"
fi
要避免将其作为关键字突出显示,请使用字符串:
php "test/unit/RbcTest.php"
至于为什么你的脚本不起作用,如果你能澄清你得到的是什么样的错误,那会有帮助。也许你可以试试这个:
chmod+x script.sh
#!/bin/bash
我把它作为一个可执行文件,顶部有#!/bin/bash。这个脚本是Jenkins在单击build时执行的脚本。当我从命令行运行这个脚本时,一切正常。当Jenkins运行它时,我得到一个警告和错误。请参阅main post谢谢:)找不到PHP脚本包含的文件。你知道你在哪里有自己的脚本吗Symfony文件?什么是
test/boostrap/unit.php
包括?