【问题标题】:PHPUnit on MAMP - throwing a fatal errorMAMP 上的 PHPUnit - 引发致命错误
【发布时间】:2018-09-07 10:54:44
【问题描述】:

我试图让 phpUnit 与 OS High Sierra 上的 MAMP 一起正常运行,当尝试运行一个简单的测试时它会抛出

“致命错误:require_once(): 无法打开所需的'PHPUnit/Framework/TestCase.php'

我查看了几篇 StackOverflow 文章,他们建议将其更改为“autoload.php”

然后抛出...

"打开失败需要'PHPUnit/Autoload.php'"

这是在带有 PHP 7.2 的 Zend Framework 1 上。

【问题讨论】:

    标签: php zend-framework frameworks phpunit


    【解决方案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/phpunitcomposer 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

    感谢您的帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-19
      • 2012-04-21
      • 1970-01-01
      • 2018-02-10
      • 2011-04-13
      • 1970-01-01
      • 2021-03-03
      • 2022-01-02
      相关资源
      最近更新 更多