【问题标题】:Make CakePHP use local PHPUnit & PHPUnit Selenium installed via Composer让 CakePHP 使用通过 Composer 安装的本地 PHPUnit 和 PHPUnit Selenium
【发布时间】:2023-04-04 13:05:01
【问题描述】:

在我的计算机上,我有一个 CakePHP 项目。在 cakephp 项目中,我有一个 composer.json 文件,如下所示:

{
    "name": "a/b",
    "description": "c",
    "require-dev": {
        "phpunit/phpunit": "3.7.*",
        "phpunit/phpunit-selenium": ">=1.2"
    },
    "license": "Proprietary",
    "authors": [
        {
            "name": "d",
            "email": "e"
        }
    ],
    "minimum-stability": "f"
}

在运行composer install 之后,我已经安装了 phpunit 和 selenium 包并在这里工作

/cakephpproject/vendor/bin/phpunit
/cakephpproject/vendor/phpunit/phpunit-selenium

现在我从/cakephpproject/app/ 尝试运行以下命令

../vendor/bin/phpunit Test/Case/Controller/MyControllerTest

但我收到以下错误消息

致命错误:找不到类“App”...

如果我使用./Console/cake test app Controller/GranulesController,测试会尝试运行,但会抛出PHPUnit_Extensions_Selenium2TestCase not found 错误,因为系统上没有安装 PHPUnit Selenium。

如何让 cakephp 使用我使用 composer 安装的 phpunit 和 phpunit-selenium,而不使用全局安装的 phpunit?

【问题讨论】:

    标签: php cakephp selenium phpunit


    【解决方案1】:

    以下命令似乎正在执行我使用 Composer 安装的 PHPUnit & PHPUnit-Selenium2。

    ./Console/cake test app AllControllers --bootstrap ../vendor/autoload.php
    

    【讨论】:

      【解决方案2】:

      我在 CakePHP 2.x 中遇到了类似的问题(在最新的 CakePHP 2.8.5 中已修复)。

      CakePHP expects 在以下位置之一查找 PHPUnit:

      1. vendors/phpunit/phpunit
      2. vendors/PHPUnit
      3. vendors/phpunit.phar
      4. app/Vendor/phpunit
      5. app/Vendor/PHPUnit
      6. app/Vendor/phpunit.phar
      7. [Composer's global directory]/vendor/phpunit
      8. [Composer's global directory]/vendor/PHPUnit
      9. [Composer's global directory]/vendor/phpunit.phar

      但是 Composer(默认)creates a directory called vendor for its files(注意缺少复数)。

      这个问题是recently fixed for CakePHP 2.x,但您可以通过将the COMPOSER_VENDOR_DIR environment variable 设置为vendors 来获得相同的行为。

      【讨论】:

        猜你喜欢
        • 2017-11-10
        • 2014-12-25
        • 2015-01-21
        • 2013-09-12
        • 2016-03-29
        • 2011-09-10
        • 2012-09-30
        • 2014-04-21
        • 2014-12-15
        相关资源
        最近更新 更多