2amigos / yii2-app-usuario-template

Yii 2 Basic Application Template with ConfigKit and Yii 2 Usuario Module
Other
7 stars 2 forks source link

Codeception Testing / PHP Fatal error: Cannot declare class Yii, because the name is already in use #1

Open user1007017 opened 7 years ago

user1007017 commented 7 years ago

Hi,

/usr/bin/php /tmp/ide-codeception.php run --report -o "reporters: report: PhpStorm_Codeception_ReportPrinter" --no-ansi --no-interaction --env chrome acceptance

What steps will reproduce the problem?

Configured a new server following the guide https://www.2amigos.us/blog/how-to-work-with-yii-2-config-kit-and-yii-2-usuario-module

What is the expected result?

Codeception acceptance tests should run

What do you get instead?


Testing started at 20:46 ...
Codeception PHP Testing Framework v2.3.4
Powered by PHPUnit 6.2.4 by Sebastian Bergmann and contributors.
PHP Fatal error:  Cannot declare class Yii, because the name is already in use in /home/testuser/PhpstormProjects/myproject/vendor/yiisoft/yii2/Yii.php on line 23
PHP Stack trace:
PHP   1. {main}() /tmp/ide-codeception.php:0
PHP   2. Codeception\Application->run() /tmp/ide-codeception.php:495
PHP   3. Symfony\Component\Console\Application->run() /home/testuser/PhpstormProjects/myproject/vendor/codeception/base/src/Codeception/Application.php:103
PHP   4. Symfony\Component\Console\Application->doRun() /home/testuser/PhpstormProjects/myproject/vendor/symfony/console/Application.php:130
PHP   5. Symfony\Component\Console\Application->doRunCommand() /home/testuser/PhpstormProjects/myproject/vendor/symfony/console/Application.php:228
PHP   6. Symfony\Component\Console\Command\Command->run() /home/testuser/PhpstormProjects/myproject/vendor/symfony/console/Application.php:874
PHP   7. Codeception\Command\Run->execute() /home/testuser/PhpstormProjects/myproject/vendor/symfony/console/Command/Command.php:264
PHP   8. Codeception\Command\Run->runSuites() /home/testuser/PhpstormProjects/myproject/vendor/codeception/base/src/Codeception/Command/Run.php:347
PHP   9. Codeception\Codecept->run() /home/testuser/PhpstormProjects/myproject/vendor/codeception/base/src/Codeception/Command/Run.php:420
PHP  10. Codeception\Codecept->runSuite() /home/testuser/PhpstormProjects/myproject/vendor/codeception/base/src/Codeception/Codecept.php:157
PHP  11. Codeception\SuiteManager->run() /home/testuser/PhpstormProjects/myproject/vendor/codeception/base/src/Codeception/Codecept.php:188
PHP  12. Codeception\PHPUnit\Runner->doEnhancedRun() /home/testuser/PhpstormProjects/myproject/vendor/codeception/base/src/Codeception/SuiteManager.php:157
PHP  13. PHPUnit\Framework\TestSuite->run() /home/testuser/PhpstormProjects/myproject/vendor/codeception/base/src/Codeception/PHPUnit/Runner.php:106
PHP  14. Codeception\Test\Test->run() /home/testuser/PhpstormProjects/myproject/vendor/phpunit/phpunit/src/Framework/TestSuite.php:744
PHP  15. PHPUnit\Framework\TestResult->startTest() /home/testuser/PhpstormProjects/myproject/vendor/codeception/base/src/Codeception/Test/Test.php:74
PHP  16. Codeception\PHPUnit\Listener->startTest() /home/testuser/PhpstormProjects/myproject/vendor/phpunit/phpunit/src/Framework/TestResult.php:395
PHP  17. Codeception\PHPUnit\Listener->fire() /home/testuser/PhpstormProjects/myproject/vendor/codeception/base/src/Codeception/PHPUnit/Listener.php:100
PHP  18. Symfony\Component\EventDispatcher\EventDispatcher->dispatch() /home/testuser/PhpstormProjects/myproject/vendor/codeception/base/src/Codeception/PHPUnit/Listener.php:131
PHP  19. Symfony\Component\EventDispatcher\EventDispatcher->doDispatch() /home/testuser/PhpstormProjects/myproject/vendor/symfony/event-dispatcher/EventDispatcher.php:44
PHP  20. call_user_func:{/home/testuser/PhpstormProjects/myproject/vendor/symfony/event-dispatcher/EventDispatcher.php:212}() /home/testuser/PhpstormProjects/myproject/vendor/symfony/event-dispatcher/EventDispatcher.php:212
PHP  21. Codeception\Subscriber\Module->before() /home/testuser/PhpstormProjects/myproject/vendor/symfony/event-dispatcher/EventDispatcher.php:212
PHP  22. Codeception\Module\Yii2->_before() /home/testuser/PhpstormProjects/myproject/vendor/codeception/base/src/Codeception/Subscriber/Module.php:56
PHP  23. Codeception\Lib\Connector\Yii2->getApplication() /home/testuser/PhpstormProjects/myproject/vendor/codeception/base/src/Codeception/Module/Yii2.php:185
PHP  24. Codeception\Lib\Connector\Yii2->startApp() /home/testuser/PhpstormProjects/myproject/vendor/codeception/base/src/Codeception/Lib/Connector/Yii2.php:53
PHP  25. require() /home/testuser/PhpstormProjects/myproject/vendor/codeception/base/src/Codeception/Lib/Connector/Yii2.php:65
PHP  26. require() /home/testuser/PhpstormProjects/myproject/config/codeception/app.php:24

Process finished with exit code 255
tonydspaniard commented 6 years ago

I'll have a look, thanks @user1007017

phplego commented 6 years ago

I have the same problem. I'll try to investigate it myself

phplego commented 6 years ago

In my case the problem was due to

require __DIR__ . '/../vendor/yiisoft/yii2/Yii.php';

instesd of

require_once __DIR__ . '/../vendor/yiisoft/yii2/Yii.php';

in the bootstrap/sidekit.php.

I think it is just a bug of 2amigos usuario application template. Just add _once.