如何在OSX 10.8.4下使用MAMP 2.1.4为Yii和Netbeans安装phpunit


How to install phpunit under OSX 10.8.4 with MAMP 2.1.4 for Yii and Netbeans?

我想在运行OSX 10.8.4和带有PHP 5.4.1的MAMP Pro的本地maschine上使用phpunit测试。此外,我想将它用于Yii和我的IDE Netbeans。

我通过pear或composer阅读了一些类似这种方法的教程。我甚至试着让自己看起来像是在窗户上做的,但没有成功。

我的方法总是导致像这样的错误

PHP警告:include():无法打开"PHPInvoker.PHP"

PHP警告:include():打开失败'PHPUnit_Extensions_Database_TestCase.php'

PHP警告:include():打开失败'PHPUnit_Extension_Story_TestCase.php'

无法打开所需的"PHPUnit/Extensions/SeleniumTestCase.php"

PHP致命错误:找不到类"CTestCase"

或者根本找不到phpunit。

但最终我找到了一个给我一个良好开端的教程。通过更多的研究,我也找到了解决上述问题的方法。

在这里,我只想分享我的步骤和所有你可以通过的链接来运行它:)

第一步是学习Zank的教程。

但在我完成他的步骤后,我犯了几个错误。因为您必须安装的模块列表不完整。当我尝试运行测试时,这导致了以下错误:

PHP警告:include():无法打开"PHPInvoker.PHP"

PHP警告:include():打开失败'PHPUnit_Extensions_Database_TestCase.php'

PHP警告:include():打开失败'PHPUnit_Extension_Story_TestCase.php'

第二步

所以我在谷歌上搜索了一下,发现我也必须做以下几行:

pear install phpunit/PHPUnit_Story
pear install phpunit/DbUnit

但"调用者"问题并没有那么容易。因为当你尝试时

pear install phpunit/PHP_Invoker

它将导致类似的错误

phpunit/PHPInvoker需要PHP扩展名"pcntl"

将这个扩展安装到MAMP是一件痛苦的事。但我在这里找到了这个解决方案:

  • 转到pear.phpunit.de
  • 手动下载的PHPInvoker实用程序类
  • 解压缩了我女儿mac上的文件(我运行的是Windows)
  • 将"Invoker"目录放在C:''examplep''php''pear''php下
  • 将"Invoker.php"文件放在C:''examplep''php''pear''php下

对于您的MAMP安装,路径应该类似于"/Applications/MAMP/bin/php/php5.4.10/lib"-此外,我还必须将"Invoker.php"重命名为"PHPInvokerphp"。

第三步

在命令行上,一切现在都应该工作了——编写一个测试并尝试,就像第一步中链接的Zank教程中一样。但是Netbeans呢?就像在Zank的教程中一样,我输入了phpunit路径,然后右键单击了我的一个测试并选择了"运行测试"-error!

PHP致命错误:找不到类"CTestCase"

解决方案可以在这里找到。当您没有右键单击"phpunit.xml"所在的文件夹时,就会发生这种情况。但为了避免这种情况,您可以执行以下操作:

  • 只需右键单击包含"phpunit.xml"的文件夹,即可显示"Run test"
  • 或者在测试属性->PHPUnit下,选中复选框"使用XML配置"并选择"PHPUnit.XML"文件

就是这样!

这里有一些链接也很有趣:

  • NetBeans IDE-使用PHPUnit和Selenium进行测试
  • NetBeans IDE和Yii项目
  • NetBeans IDE、PHPUnit和Skeleton Generator