2

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

我通过pear或通过composer阅读了一些类似这种方法的教程。我什至试图让 ppl 在Windows上做到这一点——但没有成功。

我的方法总是导致错误,例如

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

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

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

未能打开所需的“PHPUnit/Extensions/SeleniumTestCase.php”

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

或者根本没有找到 phpunit。

4

1 回答 1

5

但最后我找到了一个给我一个好的开始的教程。通过更多的研究,我也找到了我在上面发布的问题的解决方案。

在这里,我只想分享我的步骤以及您可以通过的所有链接以使其运行:)

第一步是按照Zank 的教程进行操作。

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

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

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

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

第二步

所以我用谷歌搜索并发现我也必须做以下几行:

pear install phpunit/PHPUnit_Story

pear install phpunit/DbUnit

但是“调用者”问题并不那么容易。因为当你尝试

pear install phpunit/PHP_Invoker

这将导致类似的错误

phpunit/PHP_Invoker 需要 PHP 扩展“pcntl”

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

  • 去 pear.phpunit.de
  • 手动下载 PHP_Invoker 实用程序类
  • 在我女儿的 Mac 上解压缩文件(我正在运行 Windows)
  • 将“Invoker”目录放在 C:\xampp\php\pear\PHP 下
  • 将“Invoker.php”文件放在 C:\xampp\php\pear\PHP 下

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

第三步

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

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

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

  • 只需右键单击其中包含“phpunit.xml”的文件夹即可进行“运行测试”。
  • 或者在你的测试属性下 - > PHPUnit 并选中复选框“使用 XML 配置”+选择“phpunit.xml”文件

而已!

以下是一些有趣的链接:

于 2013-08-22T16:34:51.503 回答