craftcms / docs

Documentation for Craft CMS, Craft Commerce, and other official products.
https://craftcms.com/docs
38 stars 144 forks source link

[4.x]: Outdated Testing Docs #556

Open Enovate-Jordan opened 9 months ago

Enovate-Jordan commented 9 months ago

What happened?

Description

Following the Craft 4 testing documentation I noticed a few inconsitencies which indicate that it has not been updated since Craft 3.

Problem 1: Install Codeception 3.1 or Higher. Running composer require --dev codeception/codeception ^3.1 will prompt this: - codeception/codeception[3.1.0, ..., 3.1.3] require php >=5.6.0 <8.0 -> your php version (8.0.2; overridden via config.platform, actual: 8.0.30) does not satisfy that requirement. CraftCMs requries >=8.0.2, this version of codeception requires <8.0.

In the requirements section, this is written: Craft CMS 3.2 or higher, however, I am using the Craft 4 docs. This is probably the biggest give away that the docs have no been updated.

Problem 2: Running composer require --dev vlucas/phpdotenv ^3.0, will result in the following error when running ./craft: PHP Fatal error: Uncaught Error: Call to undefined method Dotenv\Dotenv::createUnsafeMutable() in /Users/.../.../.../craft2/bootstrap.php:17

Problem 3: codecept is not in project root path. Must to use php vendor/bin/codecept run Unit.

Taking the assumption that both codeception/codeception and vlucas/phpdotenv should be installed at their latest version to continue.

Running php vendor/bin/codecept run Unit results in the following error:

Codeception PHP Testing Framework v5.0.11 https://helpukrainewin.org
PHP Fatal error:  Uncaught Error: Class "Codeception\Module\Yii2" not found in /Users/.../.../.../craft/vendor/craftcms/cms/src/test/Craft.php:65
Stack trace:
#0 /Users/.../.../.../craft/vendor/composer/ClassLoader.php(576): include()
craftcms/cms#1 /Users/.../.../.../craft/vendor/composer/ClassLoader.php(427): Composer\Autoload\{closure}('/Users/.../...')
craftcms/cms#2 [internal function]: Composer\Autoload\ClassLoader->loadClass('craft\\test\\Craf...')
craftcms/cms#3 /Users/.../.../.../craft/vendor/codeception/codeception/src/Codeception/Lib/ModuleContainer.php(97): class_exists('\\craft\\test\\Cra...')
craftcms/cms#4 /Users/.../.../.../craft/vendor/codeception/codeception/src/Codeception/SuiteManager.php(49): Codeception\Lib\ModuleContainer->create('\\craft\\test\\Cra...')

Craft CMS version

4.5.5

PHP version

8.0.30

Operating system and version

Mac OS Ventura 13.0

Database type and version

MySQL Ver 14.14 Distrib 5.7.42

Image driver and version

No response

Installed plugins and versions

"require": {
    "craftcms/cms": "^4.4.0",
    "vlucas/phpdotenv": "^5.4.0"
},
"require-dev": {
    "codeception/codeception": "^5.0",
    "craftcms/generator": "^1.3.0",
    "yiisoft/yii2-shell": "^2.0.3",
    "codeception/module-phpbrowser": "*",
    "codeception/module-asserts": "*"
},