我正在使用phpunit-spiderling和PHPUnit在PhantomJS上运行浏览器/功能测试,通过jonnyw/php-phantomjs安装,然后在phantomjs
中安装<project>/bin
二进制文件。由于该文件夹不在系统路径中,因此我需要开始测试:
PATH=$PATH:`pwd`/bin ./phpunit test/browser/tests
这样可以正常工作,但是当我在托管CI上设置它时,我希望我需要将它压缩到raw命令中,而不使用环境前缀:
./phpunit test/browser/tests
我已经尝试使用--bootstrap
命令来运行system()
命令来重置系统路径,但无法使用,我在手册中看不到任何描述如何通过phpunit.xml
。不幸的是,Spiderling硬连接了Phantom命令,并且它在系统路径中是可见的。
我也尝试过这是一个setUp()
测试方法,但为时已晚 - Spiderling已经尝试过,并且失败了,在随机端口上启动PhantomJS。
(命令./phpunit
只是vendor/phpunit/phpunit/phpunit
的符号链接,它是通过Composer安装的PHPUnit。)
答案 0 :(得分:1)
对于这个问题,事实证明:
phantomjs
因此,虽然事实证明我不需要这个,但似乎有两种方法可以实现它。由于我的方法需要执行反引号,我想知道env
方法是否可行。但是,为了完整性,这里有两个:
env
方法是.travis.yml file。您还可以尝试使用值为before_script
的键:
before_script:
- export PATH=`pwd`/bin:$PATH
由于工作目录应设置为项目的根目录,因此pwd
加上子目录应添加到系统路径的新路径中。