我读完其他类似的帖子之后,我觉得我已经跟着所有的信件,因此我的困惑和这篇文章:
我正在跑步: - Windows 7 64位 - 使用php 5.2.5的Wamp Server 2.0
我正在阅读使用Yii和PHP5的打包敏捷Web开发
到目前为止的行动:问题: 当我通过命令提示符键入时,以下命令有效:
cd c:\wamp\www\yiidemo\protected\tests
phpunit functional\SiteTest.php
phpunit使用selenium与firefox一起测试网站。
但是,当我按照书中所述创建一个空类进行测试并运行时:
phpunit unit\MessageTest.php
我明白了:
"Warning: require(PHPUnit/Autoload.php): failed to open stream: No such file or directory in c:\wamp\www\yiidemo\protected\tests\unit\MessageTest.php"
但是如果我输入单位文件夹并尝试命令:
phpunit MessageTest.php
我收到一条错误消息,说明
"Fatal Error: Class 'CTestCase' not found in "c:\wamp\www\yiidemo\protected\tests\unit\MessageTest.php" on line 3
<?php
class MessageTest extends CTestCase
{
}
?>
知道我做错了什么。到目前为止,我已经走了很长一段路,因为命令行正在工作,所以我已经完全陷入困境。
答案 0 :(得分:1)
<强>更新。问题解决了。
问题持续存在的详细原因:
我使用的phpunit版本中没有Autoload.php文件,因此从github复制最新版本并将其转储到pear文件夹中并从那里修补无法使用setup / install(缺少引用)
即使我只复制了github文件夹中的Autoload.php文件(看看会发生什么),进一步缺失的参考资料让我确信Yii的预期与我安装的内容大不相同。
< / LI>不幸的是,PEAR根据您的PHP版本规定要安装phpunit的WHICH VERSION。由于我使用的是php5.2.5,它安装的最高版本的phpunit是没有Autoload.php的版本,即使你使用了--force --alldeps选项
前进。
升级您的设置至少PHP5.3.4
在\ path \ to \ php \ php5.3.4中运行go-pear.phar并接受默认参数
将PEAR_ENV.reg添加到注册表
安装phpunit
安装phpunit / selenium
Wampserver用户注意事项(重要!!) 升级到ONLYwampserver 2.1,而不是2.2! 2.2似乎没有其卷曲扩展工作,这在安装phpunit selenium时会出现问题。即使使用Wamp 2.1(我从2.0升级),你必须在php和apache文件夹中的php.ini文件中手动启用curl扩展(据我测试,PEAR使用PHP的php.ini,而phpunit使用apache的php。 INI)。
即使通过php.ini启用curl,使用WAMP 2.2也给了我“并排”配置错误。见链接: Wamp Server 2.2 Windows 7 64-bit and curl not working side-by-side configuration incorrect
安装Selenium for PHPUnit需要curl扩展
考虑到所有这一切,你应该没有问题!