很抱歉,如果这是微不足道的,但我没有找到任何建议如何解决这个问题。 我在Ubuntu上,我的Yii项目需要PHPUnit。 我已经安装了两次PHPUnit,下载并将phpunit.phar移动到'/ usr / local / bin'并运行:
composer global require "phpunit/phpunit=3.7.*"
现在我正在尝试执行我的Yii PHPUnit测试:
phpunit unit/DbTest.php
我得到的是:
PHP Warning: require_once(PHPUnit/Extensions/SeleniumTestCase.php):
failed to open stream: No such file or directory in
/opt/lampp/htdocs/yii-project/framework/test/CWebTestCase.php on line 12
PHP Fatal error: require_once(): Failed opening required
'PHPUnit/Extensions/SeleniumTestCase.php'
(include_path='.:/usr/share/php:/usr/share/pear') in
/opt/lampp/htdocs/yii-project/framework/test/CWebTestCase.php on line 12
所以似乎找不到PHPUnit扩展SeleniumTestCase.php。然后,PHPUnit安装手册指出Selenium'包含在PHPUnit的PHAR发行版中。' 您能否建议我如何使我的Yii测试工作?
答案 0 :(得分:9)
您需要安装phpunit
的可选附加软件包才能运行Yii测试
您需要的套餐是
PHP_Invoker
DbUnit
PHPUnit_Selenium
phpunit-story
您可以使用composer通过将以下内容添加到require-dev
"phpunit/php-invoker": "*",
"phpunit/dbunit": ">=1.2",
"phpunit/phpunit-selenium": ">=1.2",
"phpunit/phpunit-story": "*"
使用以下命令安装相应的依赖项
composer global require 'phpunit/phpunit-selenium=*'
composer global require 'phpunit/phpunit-story=*'
composer global require 'phpunit/dbunit=*'
composer global require 'phpunit/php-invoker=*'
答案 1 :(得分:7)
我采取了哪些措施来解决这个问题:
1)我从以下网站下载了selenium扩展: https://github.com/sebastianbergmann/phpunit-selenium/tree/master/PHPUnit/Extensions 并将整个PHPUnit目录放在
下/opt/lampp/htdocs/yii-project/framework/test
此时,PHPUnit停止抱怨缺少SeleniumTestCase.php。
2)然后我在
中收到有关遗失文件的错误PHPUnit/Runner/Version.php
为了解决这个问题,我在CTestCase.php中注释掉了这些行:
//require_once('PHPUnit/Runner/Version.php');
//require_once('PHPUnit/Util/Filesystem.php'); // workaround for PHPUnit <= 3.6.11
//require_once('PHPUnit/Autoload.php');
现在我可以运行我的测试了。
答案 2 :(得分:0)
这对我有用
sudo pear config-set auto_discover 1
sudo pear channel-discover pear.phpunit.de
sudo pear install --alldeps pear.phpunit.de/PHP_Invoker
sudo pear install --alldeps pear.phpunit.de/DbUnit
sudo pear install --alldeps pear.phpunit.de/PHPUnit_Selenium
sudo pear install --alldeps pear.phpunit.de/phpunit-story
答案 3 :(得分:0)
在回复此问题时,有必要对Manquer的回复进行一点修改。有必要编辑CWebTestCase并包含Selenium2TestCase.php而不是SeleniumTestCase.php并扩展PHPUnit_Extensions_Selenium2TestCase而不是PHPUnit_Extensions_SeleniumTestCase。 Php-invoker无法在Windows上安装,也没有必要。