phpstormcodeceptionphpstorm-2018.1

Class PhpStorm_Codeception_ReportPrinter does not exist


I am attempting to run Codeception functional tests within PhpStorm and keep receiving an error that says a class is missing. I've scoured the internet and found nothing available for this problem except for one post https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000646104-Running-codeCeption-test-runner-causes-excpetion?sort_by=created_at . Other posts talk about how to set the argument.

I have both a phar of Codeception 2.4.1 and a composer install of it. It is using PHP version 7.1 to execute.

Searching the vendor folder returns no such class which makes me think it is supposed to be delivered or included from within PhpStorm. Not really sure, grabbing at straws.

If anyone has any exposure to this and can help with some guidance it would be much appreciated. I can run them a docker/vagrant config or from the CLI, it just cannot integrate with 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

Solution

  • In my case, I had codeception installed both in composer global and as a project dependency.

    I had to remove composer global remove codeception/codeception and go to PHPStorm -> Settings -> Languages & Frameworks -> PHP -> Test Frameworks and change my codeception executable to ~/myprojectpath/vendor/codeception/codeception/codecept