MAMP 上的 PHPUnit - 引发致命错误
Posted
技术标签:
【中文标题】MAMP 上的 PHPUnit - 引发致命错误【英文标题】:PHPUnit on MAMP - throwing a fatal error 【发布时间】:2018-09-07 10:54:44 【问题描述】:我试图让 phpUnit 与 OS High Sierra 上的 MAMP 一起正常运行,当尝试运行一个简单的测试时它会抛出
“致命错误:require_once(): 无法打开所需的'PHPUnit/Framework/TestCase.php'
我查看了几篇 *** 文章,他们建议将其更改为“autoload.php”
然后抛出...
"打开失败需要'PHPUnit/Autoload.php'"
这是在带有 PHP 7.2 的 Zend Framework 1 上。
【问题讨论】:
【参考方案1】:如果您使用 Composer 安装 PHPUnit,请确保您像这样运行它:
./vendor/bin/phpunit --bootstrap vendor/autoload.php tests/EmailTest
或者像这样在你的phpunit.xml
中包含vendor/autoload.php
:
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/6.1/phpunit.xsd"
backupGlobals="false"
colors="true"
bootstrap="vendor/autoload.php"
>
请参阅docs。
【讨论】:
是的。我使用 Composer 安装 phpUnit。使用 ./vendor 返回“找不到目录” 我发现 OS High Sierra 在尝试设置单元测试时简直就是一场噩梦 @S.Edward 你是如何安装 PHPUnit 的?你跑composer install --dev phpunit/phpunit
或composer global install phpunit/phpunit
了吗?
全局安装。这是我遇到的第一个错误......“警告:require_once(/Applications/MAMP/bin/php/php7.1.8/lib/php/composer/autoload_real.php):无法打开流:没有这样的文件或/Applications/MAMP/bin/php/php7.1.8/lib/php/Autoload.php 中第 5 行的目录"
@S.Edward 您能否更新您的问题并添加您的项目结构和用于运行 PHPUnit 的完整命令?【参考方案2】:
问题在于框架的版本。 1.8 是行不通的。 Phpunit 与 3.0.3 Skeleton 一起工作得很好。我将研究将代码库迁移到 3.0.3
感谢您的帮助
【讨论】:
以上是关于MAMP 上的 PHPUnit - 引发致命错误的主要内容,如果未能解决你的问题,请参考以下文章
为啥,致命错误:在...中找不到类“PHPUnit_Framework_TestCase”?
PHPUnit CodeIgniter 生成夹具 PHP 致命错误:找不到类“PHPUnit_Framework_TestCase”