Codeception PHP Testing Skill
Automated test generation for PHP using BDD Actor pattern
❌ Writing comprehensive test coverage for PHP applications is time-consuming and requires expertise in multiple testing paradigms.
✅ Generate production-ready Codeception tests in seconds that cover acceptance, functional, and unit test scenarios.
- ✓Generates acceptance tests with Actor pattern syntax
- ✓Creates functional and unit tests from specifications
- ✓Supports BDD-style test writing with Cest format
- ✓Produces runnable PHP Codeception test code instantly
👁 3 views · 📦 0 installs
Free to install — no account needed
Copy the command below and paste into your agent.
Instant access • No coding needed • No account needed
What you get in 5 minutes
- Full skill code ready to install
- Works with 4 AI agents
- Lifetime updates included
Run this helper
Answer a few questions and let this helper do the work.
▸Advanced: use with your AI agent
Description
--- name: codeception-skill description: > Generates Codeception tests in PHP covering acceptance, functional, and unit testing. BDD-style with Actor pattern. Use when user mentions "Codeception", "$I->amOnPage", "$I->see", "Cest". Triggers on: "Codeception", "$I->amOnPage", "AcceptanceTester", "Codeception PHP", "Cest". languages: - PHP category: e2e-testing license: MIT metadata: author: TestMu AI version: "1.0" --- # Codeception Testing Skill ## Core Patterns ### Acceptance Test (Cest) ```php <?php // tests/Acceptance/LoginCest.php class LoginCest { public function _before(AcceptanceTester $I) { $I->amOnPage('/login'); } public function loginWithValidCredentials(AcceptanceTester $I) { $I->fillField('email', '[email protected]'); $I->fillField('password', 'password123'); $I->click('Login'); $I->see('Dashboard'); $I->seeInCurrentUrl('/dashboard'); $I->seeElement('.welcome-message'); } public function loginWithInvalidCredentials(AcceptanceTester $I) { $I->fillField('email', '[email protected]'); $I->fillField('password', 'wrong'); $I->click('Login'); $I->see('Invalid credentials'); $I->seeInCurrentUrl('/login'); } } ``` ### Actor Methods (AcceptanceTester $I) ```php // Navigation $I->amOnPage('/path'); $I->click('Button Text'); $I->click('#id'); $I->click(['xpath' => '//button']); // Forms $I->fillField('Name or Label', 'value'); $I->selectOption('Select', 'Option'); $I->checkOption('Checkbox'); $I->uncheckOption('Checkbox'); $I->attachFile('Upload', 'file.txt'); $I->submitForm('#form', ['email' => '[email protected]']); // Assertions $I->see('Text'); $I->dontSee('Text'); $I->seeElement('#id'); $I->dontSeeElement('.error'); $I->seeInField('email', '[email protected]'); $I->seeInCurrentUrl('/dashboard'); $I->seeInTitle('Page Title'); $I->seeCheckboxIsChecked('#agree'); $I->seeNumberOfElements('li', 5); // Grabbers $text = $I->grabTextFrom('.element'); $attr = $I->grabAttributeFrom('#link', 'href'); $value = $I->grabValueFrom('#input'); ``` ### Page Objects (Step Objects) ```php <?php // tests/_support/Page/Login.php namespace Page; class Login { public static $url = '/login'; public static $emailField = '#email'; public static $passwordField = '#password'; public static $loginButton = 'button[type="submit"]'; protected $I; public function __construct(\AcceptanceTester $I) { $this->I = $I; } public function login(string $email, string $password): void { $this->I->amOnPage(self::$url); $this->I->fillField(self::$emailField, $email); $this->I->fillField(self::$passwordField, $password); $this->I->click(self::$loginButton); } } ``` ### Cloud (TestMu AI) Full setup: [reference/cloud-integration.md](reference/cloud-integration.md). Capabilities reference: [shared/testmu-cloud-reference.md](../shared/testmu-cloud-reference.md). ### Cloud Config (acceptance.suite.yml) ```yaml actor: AcceptanceTester modules: enabled: - WebDriver: url: 'http://localhost:3000' host: 'hub.lambdatest.com' port: 80 browser: chrome capabilities: 'LT:Options': user: '%LT_USERNAME%' accessKey: '%LT_ACCESS_KEY%' build: 'Codeception Build' video: true ``` ## Setup: `composer require --dev codeception/codeception codeception/module-webdriver` ## Init: `php vendor/bin/codecept bootstrap` ## Run: `php vendor/bin/codecept run acceptance` ## Deep Patterns See `reference/playbook.md` for production-grade patterns: | Section | What You Get | |---------|-------------| | §1 Project Setup | Installation, codeception.yml, suite configurations | | §2 Acceptance Tests | Cest pattern, @dataProvider, WebDriver interactions | | §3 API Tests | REST module, CRUD operations, @depends, HttpCode | | §4 Page Objects | Page class with static selectors, reusable methods | | §5 Database Testing | haveInDatabase, seeInDatabase, updateInDatabase | | §6 Custom Helpers | Custom module extending Codeception Module | | §7 CI/CD Integration | GitHub Actions with MySQL, Selenium, coverage | | §8 Debugging Table | 12 common problems with causes and fixes | | §9 Best Practices | 14-item Codeception testing checklist |
Security Status
Verified
Manually verified by security team
Related AI Tools
More Grow Business tools you might like
codex-collab
FreeUse when the user asks to invoke, delegate to, or collaborate with Codex on any task. Also use PROACTIVELY when an independent, non-Claude perspective from Codex would add value — second opinions on code, plans, architecture, or design decisions.
Rails Upgrade Analyzer
FreeAnalyze Rails application upgrade path. Checks current version, finds latest release, fetches upgrade notes and diffs, then performs selective upgrade preserving local customizations.
Asta MCP — Academic Paper Search
FreeDomain expertise for Ai2 Asta MCP tools (Semantic Scholar corpus). Intent-to-tool routing, safe defaults, workflow patterns, and pitfall warnings for academic paper search, citation traversal, and author discovery.
Hand Drawn Diagrams
FreeCreate hand-drawn Excalidraw diagrams, flows, explainers, wireframes, and page mockups. Default to monochrome sketch output; allow restrained color only for page mockups when the user explicitly wants webpage-like fidelity.
Move Code Quality Checker
FreeAnalyzes Move language packages against the official Move Book Code Quality Checklist. Use this skill when reviewing Move code, checking Move 2024 Edition compliance, or analyzing Move packages for best practices. Activates automatically when working
Claude Memory Kit
Free"Persistent memory system for Claude Code. Your agent remembers everything across sessions and projects. Two-layer architecture: hot cache (MEMORY.md) + knowledge wiki. Safety hooks prevent context loss. /close-day captures your day in one command. Z