{"id":27283168,"url":"https://github.com/spiral/testing","last_synced_at":"2025-10-10T08:35:36.587Z","repository":{"id":37030942,"uuid":"454957630","full_name":"spiral/testing","owner":"spiral","description":"Spiral Framework testing SDK","archived":false,"fork":false,"pushed_at":"2025-09-26T19:07:57.000Z","size":235,"stargazers_count":7,"open_issues_count":12,"forks_count":4,"subscribers_count":3,"default_branch":"2.x","last_synced_at":"2025-10-10T08:35:20.893Z","etag":null,"topics":["php","php7","spiral-framework","testing","testing-tools"],"latest_commit_sha":null,"homepage":"https://spiral.dev/docs/packages-testing","language":"PHP","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/spiral.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2022-02-02T22:33:57.000Z","updated_at":"2025-09-26T19:07:59.000Z","dependencies_parsed_at":"2022-06-25T15:33:37.065Z","dependency_job_id":"94b739c2-7194-4289-bc53-a9a7a255a5db","html_url":"https://github.com/spiral/testing","commit_stats":{"total_commits":70,"total_committers":6,"mean_commits":"11.666666666666666","dds":0.2857142857142857,"last_synced_commit":"91ade046f91510607c274b503d60ea55d33d0f08"},"previous_names":[],"tags_count":29,"template":false,"template_full_name":"spiral-packages/package-skeleton","purl":"pkg:github/spiral/testing","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spiral%2Ftesting","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spiral%2Ftesting/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spiral%2Ftesting/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spiral%2Ftesting/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spiral","download_url":"https://codeload.github.com/spiral/testing/tar.gz/refs/heads/2.x","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spiral%2Ftesting/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279003277,"owners_count":26083555,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["php","php7","spiral-framework","testing","testing-tools"],"created_at":"2025-04-11T18:37:01.917Z","updated_at":"2025-10-10T08:35:36.572Z","avatar_url":"https://github.com/spiral.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spiral Framework testing SDK\n\n[![Latest Version on Packagist](https://img.shields.io/packagist/v/spiral/testing.svg?style=flat-square)](https://packagist.org/packages/spiral/testing)\n[![Total Downloads](https://img.shields.io/packagist/dt/spiral/testing.svg?style=flat-square)](https://packagist.org/packages/spiral/testing)\n\n## Requirements\n\nMake sure that your server is configured with following PHP version and extensions:\n\n- PHP 8.1+\n- Spiral framework 3.15+\n\nDocumentation on how to install and use the package can be found on the official documentation\npage - [Testing — Getting Started](https://spiral.dev/docs/testing-start)\n\n## Spiral package testing\n\nThere are some difference between App and package testing. One of them - tou don't have application and bootloaders.\n\nTestCase from the package has custom TestApp implementation that will help you to test your packages without creating\nextra classes.\n\nThe following example will show you how it is easy-peasy.\n\n#### Tests folder structure:\n\n```\ntests\n  - app\n    - config\n      - my-config.php\n    - ...\n  - src\n    - TestCase.php\n    - MyFirstTestCase.php\n```\n\n### TestCase configuration\n\n```php\nnamespace MyPackage\\Tests;\n\nabstract class TestCase extends \\Spiral\\Testing\\TestCase\n{\n    public function rootDirectory(): string\n    {\n        return __DIR__.'/../';\n    }\n\n    public function defineBootloaders(): array\n    {\n        return [\n            \\MyPackage\\Bootloaders\\PackageBootloader::class,\n            // ...\n        ];\n    }\n}\n```\n\n## License\n\nThe MIT License (MIT). Please see [License File](LICENSE) for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspiral%2Ftesting","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspiral%2Ftesting","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspiral%2Ftesting/lists"}