2012-02-20 52 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