Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[4.x]: Outdated Testing Docs

Open
#556 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
40/100
Issue type
Documentation
Clarity
Mostly clear
Activity status
Stale
Tech stack
php

Research direction

Start by locating the Craft 4 testing documentation referenced in the issue and compare its Codeception, dotenv, Craft CMS, and command examples with the reported PHP 8 setup. Update the affected instructions so installation and test execution are consistent, then verify the documented commands and dependencies against the reported failures.

Written by the indexing model from the issue text.

Description

📦 CMS
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": "*"
},
Dominant language
JavaScript
Stars
42
Forks
160
Avg merge
3h 9m
Merged PRs (30d)
4

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from craftcms/docs

All issues in craftcms/docs

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.