Class PhpStorm_Codeception_ReportPrinter 不存在

Class PhpStorm_Codeception_ReportPrinter does not exist

我正在尝试 运行 在 PhpStorm 中进行 Codeception 功能测试,但一直收到一条错误消息,指出缺少 class。我在互联网上搜索了一下,发现除了一个 post https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000646104-Running-codeCeption-test-runner-causes-excpetion?sort_by=created_at 之外,没有任何东西可以解决这个问题。其他 post 讨论如何设置参数。

我有 Codeception 2.4.1 的 phar 和它的 composer 安装。它正在使用 PHP 版本 7.1 执行。

搜索 vendor 文件夹 returns 没有这样的 class 这让我认为它应该从 PhpStorm 中交付或包含。不太确定,抓着稻草。

如果有人对此有所了解并且可以提供一些指导,我们将不胜感激。我可以 运行 他们 docker/vagrant 配置或从 CLI,它只是不能与 PhpStorm 集成。

C:\php\php-7.1.4-Win32-VC14-x64\php.exe -d-dxdebug.remote_mode=jit C:/Users/Curtis/AppData/Local/Temp/ide-codeception.php run --report -o "reporters: report: PhpStorm_Codeception_ReportPrinter" --no-ansi --no-interaction functional

==== Redirecting to Composer-installed version in vendor/codeception ====
Codeception PHP Testing Framework v2.4.1
Powered by PHPUnit 5.7.27 by Sebastian Bergmann and contributors.

In Runner.php line 174:

  Class PhpStorm_Codeception_ReportPrinter does not exist  


run [-o|--override OVERRIDE] [-e|--ext EXT] [--report] [--html [HTML]] [--xml [XML]] [--tap [TAP]] [--json [JSON]] [--colors] [--no-colors] [--silent] [--steps] [-d|--debug] [--coverage [COVERAGE]] [--coverage-html [COVERAGE-HTML]] [--coverage-xml [COVERAGE-XML]] [--coverage-text [COVERAGE-TEXT]] [--coverage-crap4j [COVERAGE-CRAP4J]] [--coverage-phpunit [COVERAGE-PHPUNIT]] [--no-exit] [-g|--group GROUP] [-s|--skip SKIP] [-x|--skip-group SKIP-GROUP] [--env ENV] [-f|--fail-fast] [--no-rebuild] [--] [<suite>] [<test>]

PHP Fatal error:  Uncaught RuntimeException: Command Did Not Finish Properly in C:\Users\Curtis\Projects\tripadvisor-integration\vendor\codeception\codeception\src\Codeception\Subscriber\ErrorHandler.php:101
Stack trace:
#0 [internal function]: Codeception\Subscriber\ErrorHandler->shutdownHandler()
#1 {main}
  thrown in C:\Users\Curtis\Projects\tripadvisor-integration\vendor\codeception\codeception\src\Codeception\Subscriber\ErrorHandler.php on line 101
PHP Stack trace:
PHP   1. {main}() C:\Users\Curtis\AppData\Local\Temp\ide-codeception.php:0
PHP   2. require_once() C:\Users\Curtis\AppData\Local\Temp\ide-codeception.php:21
PHP   3. require() phar://C:/Users/Curtis/Projects/tripadvisor-integration/codecept.phar/autoload.php:12
PHP   4. Codeception\Application->run() C:\Users\Curtis\Projects\tripadvisor-integration\vendor\codeception\codeception\package\bin:37
PHP   5. Codeception\Application->run() C:\Users\Curtis\Projects\tripadvisor-integration\vendor\codeception\codeception\src\Codeception\Application.php:108

Fatal error: Uncaught RuntimeException: Command Did Not Finish Properly in C:\Users\Curtis\Projects\tripadvisor-integration\vendor\codeception\codeception\src\Codeception\Subscriber\ErrorHandler.php on line 101

Call Stack:
    0.2024     403184   1. {main}() C:\Users\Curtis\AppData\Local\Temp\ide-codeception.php:0
    0.2208    1243848   2. require_once('phar://C:/Users/Curtis/Projects/tripadvisor-integration/codecept.phar/autoload.php') C:\Users\Curtis\AppData\Local\Temp\ide-codeception.php:21
    0.2862    5654840   3. require('C:\Users\Curtis\Projects\tripadvisor-integration\vendor\codeception\codeception\package\bin') phar://C:/Users/Curtis/Projects/tripadvisor-integration/codecept.phar/autoload.php:12
    0.3338    8056520   4. Codeception\Application->run() C:\Users\Curtis\Projects\tripadvisor-integration\vendor\codeception\codeception\package\bin:37
    0.3338    8056520   5. Codeception\Application->run() C:\Users\Curtis\Projects\tripadvisor-integration\vendor\codeception\codeception\src\Codeception\Application.php:108

RuntimeException: Command Did Not Finish Properly in C:\Users\Curtis\Projects\tripadvisor-integration\vendor\codeception\codeception\src\Codeception\Subscriber\ErrorHandler.php on line 101

Call Stack:
    0.2024     403184   1. {main}() C:\Users\Curtis\AppData\Local\Temp\ide-codeception.php:0
    0.2208    1243848   2. require_once('phar://C:/Users/Curtis/Projects/tripadvisor-integration/codecept.phar/autoload.php') C:\Users\Curtis\AppData\Local\Temp\ide-codeception.php:21
    0.2862    5654840   3. require('C:\Users\Curtis\Projects\tripadvisor-integration\vendor\codeception\codeception\package\bin') phar://C:/Users/Curtis/Projects/tripadvisor-integration/codecept.phar/autoload.php:12
    0.3338    8056520   4. Codeception\Application->run() C:\Users\Curtis\Projects\tripadvisor-integration\vendor\codeception\codeception\package\bin:37
    0.3338    8056520   5. Codeception\Application->run() C:\Users\Curtis\Projects\tripadvisor-integration\vendor\codeception\codeception\src\Codeception\Application.php:108
    0.6265   17565136   6. Codeception\Subscriber\ErrorHandler->shutdownHandler() C:\Users\Curtis\Projects\tripadvisor-integration\vendor\codeception\codeception\src\Codeception\Subscriber\ErrorHandler.php:0


Process finished with exit code -1

就我而言,我在 composer global 和项目依赖项中都安装了 codeception。

我必须删除 composer global remove codeception/codeception 并转到 PHPStorm -> 设置 -> 语言和框架 -> PHP -> 测试框架并将我的代码感知可执行文件更改为 ~/myprojectpath/vendor/codeception/codeception/codecept