我试图通过CLI使用phpunit,以便从Netbeans迁移到Sublime Text。 给phpunit提供phpunit.xml文件的路径时,我有一个最奇怪的问题:它只接受绝对路径并拒绝任何相对路径。 给phpunit.xml文件的任何相对路径都会导致此错误:
无法读取“phpunit.xml”
示例:
Maximes-MacBook-Pro:Frontoffice mbritto$ pwd
/Users/mbritto/Documents/Frontoffice
Maximes-MacBook-Pro:Frontoffice mbritto$ phpunit -c phpunit.xml
Could not read "phpunit.xml".
phpunit.xml存在于此文件夹中,我的用户可以读取。 如果我不提供文件的路径,它实际上有效:
Maximes-MacBook-Pro:Frontoffice mbritto$ phpunit
PHPUnit 3.7.28 by Sebastian Bergmann.
Configuration read from /Users/mbritto/Documents/Frontoffice/phpunit.xml
#Preparing Application Unit Tests
.^C
或者如果我给出文件的绝对路径:
Maximes-MacBook-Pro:Frontoffice mbritto$ phpunit -c /Users/mbritto/Documents/Frontoffice/phpunit.xml
PHPUnit 3.7.28 by Sebastian Bergmann.
Configuration read from /Users/mbritto/Documents/Frontoffice/phpunit.xml
#Preparing Application Unit Tests
..^C
我需要这个才能在Sublime Text中使用phpunit插件,它将phpunit.xml文件提供给命令行,并带有要测试的文件的路径。
我的配置:
知道为什么会这样做吗?
答案 0 :(得分:1)
我终于发现我的测试出了什么问题;在我的bootstrap.php文件中,我这样做:
chdir(dirname(__FILE__) . "/../src/");
因此,类和自动加载会找到与我的测试类分开的实际类。 如果我删除这一行,测试会崩溃,因为它找不到我的类,但至少我的测试被执行了。 我将在include路径上工作,而不是更改目录,这样我的测试就会再次运行。