{"id":36964631,"url":"https://github.com/shoorick/codeception-test-adapter","last_synced_at":"2026-01-13T19:41:03.454Z","repository":{"id":328649850,"uuid":"1116208470","full_name":"shoorick/codeception-test-adapter","owner":"shoorick","description":"VSCode compatible test adapter for Codeception","archived":false,"fork":false,"pushed_at":"2025-12-22T22:13:25.000Z","size":326,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-12-24T11:18:43.453Z","etag":null,"topics":["codeception","testing","vscode-extension"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shoorick.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-14T12:21:23.000Z","updated_at":"2025-12-22T22:08:13.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/shoorick/codeception-test-adapter","commit_stats":null,"previous_names":["shoorick/codeception-test-adapter"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/shoorick/codeception-test-adapter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shoorick%2Fcodeception-test-adapter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shoorick%2Fcodeception-test-adapter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shoorick%2Fcodeception-test-adapter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shoorick%2Fcodeception-test-adapter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shoorick","download_url":"https://codeload.github.com/shoorick/codeception-test-adapter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shoorick%2Fcodeception-test-adapter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28397826,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-13T14:36:09.778Z","status":"ssl_error","status_checked_at":"2026-01-13T14:35:19.697Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["codeception","testing","vscode-extension"],"created_at":"2026-01-13T19:41:02.564Z","updated_at":"2026-01-13T19:41:03.443Z","avatar_url":"https://github.com/shoorick.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Codeception Test Adapter\n\nVSCode compatible test adapter for [Codeception](https://codeception.com/)\n(PHP testing framework).\n\n![icon](icon.png)\n\nThe extension discovers Codeception tests in your workspace\nand integrates them with the built‑in **Testing** view, so you can:\n\n- run individual test methods, whole test files, or entire suites;\n- see green/red status and failure messages directly in VS Code;\n- re‑run tests from the Testing panel or from the editor gutter.\n\n\n## Features\n\n- **Automatic test discovery**\n  - Looks for Codeception suites in the `tests` directory.\n  - Detects test files:\n    - `*Test.php` (PHPUnit tests),\n    - `*Cest.php` (Codeception tests).\n  - For each file, parses PHP source and creates test items for:\n    - methods whose names start with `test` in `*Test.php` files;\n    - all public methods in `*Cest.php` files (excluding magic methods like `_before`).\n  - Watch for file changes and re-discover tests automatically.\n\n- **Running tests**\n  - Run a **single method** from gutter icon or Testing view.\n  - Run all tests in a **file**.\n  - Run an entire **suite** (e.g. `unit`, `functional`, `acceptance`).\n  - Uses `vendor/bin/codecept` from the workspace if available,\n    otherwise falls back to `codecept` in `PATH`.\n\n- **Result reporting**\n  - Executes Codeception with JUnit or PHPUnit XML or HTML report enabled\n    (`--xml`, `--phpunit-xml`, `--html`).\n  - Parses XML report and maps each `\u003ctestcase\u003e` back to the corresponding test item.\n  - Marks suites, files, methods and dataset entries\n    as **passed / failed / skipped** in the Testing view.\n  - Shows failure messages from Codeception directly in VS Code.\n\n![Testing panel and source gutter](screenshot.png)\n\n## Requirements\n\n- **VSCode** or compatible IDE (Codium, Windsurf, etc.) with VSCode OSS version 1.105 or higher.\n- **PHP** and **Composer** installed.\n- **Codeception** installed in your project, typically via Composer:\n\n  ```bash\n  composer require --dev codeception/codeception\n  ```\n\n- Your project should follow the standard Codeception layout, for example:\n\n```\nproject/\n  codeception.yml\n  tests/\n    unit.suite.yml\n    functional.suite.yml\n    acceptance.suite.yml\n    unit/\n      SomeTest.php\n    functional/\n      SomeCest.php\n```\n\n- Codeception must be able to write reports to the output directory\n  (typically `tests/_output/`, use `codeception.yml` to configure the output path).\n\n## Install\n\n### From Extensions view\n\nOpen the Extensions view \u003ckbd\u003eCtrl+Shift+X\u003c/kbd\u003e,\nsearch for \"Codeception Test Adapter\", and click Install.\n\n### Using command line\n```bash\ncode --install-extension codeception-test-adapter-VERSION.vsix\n# or\ncodium --install-extension codeception-test-adapter-VERSION.vsix\n# or\nwindsurf --install-extension codeception-test-adapter-VERSION.vsix\n```\ndepending on your IDE.\nExpected output:\n```\nInstalling extensions...\nExtension 'codeception-test-adapter-0.0.1.vsix' was successfully installed.\n```\n\n## Usage\n\n1. Open a workspace with a Codeception project in VS Code.\n2. Make sure `vendor/bin/codecept` (or `codecept` in `PATH`) works from the project root.\n3. Open the **Testing** view.\n4. The extension will discover suites and test files under the `tests` directory and create a tree:\n\n   - `workspace-directory`\n     - `unit`\n       - `SomeTest.php`\n         - `testSomething`\n     - `functional`\n       - `SomeCest.php`\n         - `testScenarioA`\n           - `[data-set-0]`\n           - `[data-set-1]`\n\n5. Run tests:\n   - click the green triangle ▷ / green circled checkmark (✓) / red circled cross (×)\n     icon next to a method’s signature to run a **single test**;\n     right click for context menu with additional options;\n   - click the triangle ▷ icon next to search field or press\n     \u003ckbd\u003eCtrl+; L\u003c/kbd\u003e to **rerun last tests**\n   - move the mouse pointer over an element in Testing tree\n     and then click the appearing triangle ▷ icon to run:\n     - all tests in a **suite**\n     - all tests in a **file**\n     - a single **test method**\n     - a single **dataset entry** for parametrized tests\n\n6. After the run finishes, check statuses and failure messages\n   in the **Testing** view and in the **Test Results** output.\n\n\n## Configuration\n\nThe extension supports the following settings (workspace scope).\n\n- `codeceptionTestAdapter.codeceptPath`\n  - Path to Codeception executable.\n  - Default: empty (auto-detect `vendor/bin/codecept`, then `codecept` from `PATH`).\n  - If relative, it is resolved from the workspace folder.\n  - Example: `./vendor/bin/codecept`\n\n- `codeceptionTestAdapter.reportPath`\n  - Path to XML report produced by Codeception.\n  - Default: empty.\n    - If empty, the adapter uses Codeception defaults in `paths.output` from `codeception.yml`:\n      - JUnit XML: `report.xml`\n      - PHPUnit XML: `phpunit-report.xml`\n  - If relative, it is resolved from the workspace folder.\n  - Example: `tests/_output/junit.xml`\n\n- `codeceptionTestAdapter.reportFormats`\n  - Which reports to generate.\n  - Values: `junit`, `phpunit`, `html`.\n  - Default: `[\"junit\"]`.\n  - Note: HTML report can be generated, but the adapter parses test results only from XML.\n\n\n## Development\n\nThis repository is a standard VS Code extension project.\n\n- **Build / typecheck / lint**:\n\n  ```bash\n  npm install\n  npm run compile\n  ```\n\n- **Launch the extension**:\n  - open this folder in VS Code;\n  - run the `Launch Extension` debug configuration;\n  - a new VS Code window will open with the extension loaded.\n\n- **Run extension tests**:\n\n  ```bash\n  npm test\n  ```\n\nWhen changing the adapter logic (test discovery, running, XML parsing), keep the Testing view open in the debug instance of VS Code and use it to verify that files, methods and suites appear and update as expected.\n\n## See also\n\n- [VS Code Extension API Documentation](https://code.visualstudio.com/api)\n- [Codeception Documentation](https://codeception.com/docs)\n- [Open-Meteo and Codeception example](https://github.com/shoorick/open-meteo-codeception), use it to check how it works\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshoorick%2Fcodeception-test-adapter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshoorick%2Fcodeception-test-adapter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshoorick%2Fcodeception-test-adapter/lists"}