nicolasguilloux / phpunit-dependency-injection-bundle
一个神奇的包
Requires
- php: ^8.0 || ^7.4
- haydenpierce/class-finder: ^0.4
- symfony/config: ^3.0 || ^4.0 || ^5.0 || ^6.0
- symfony/dependency-injection: ^3.0 || ^4.0 || ^5.0 || ^6.0
- symfony/http-kernel: ^3.0 || ^4.0 || ^5.0 || ^6.0
Requires (Dev)
- phpunit/phpunit: ^9.5
- roave/security-advisories: dev-latest
- symfony/console: ^3.0 || ^4.0 || ^5.0 || ^6.0
- symfony/framework-bundle: ^3.0 || ^4.0 || ^5.0 || ^6.0
- symfony/monolog-bundle: ^3.7
- symfony/test-pack: ^1.0
- symfony/yaml: ^3.0 || ^4.0 || ^5.0 || ^6.0
This package is auto-updated.
Last update: 2024-09-13 17:20:23 UTC
README
简短描述
目录
1. 安装
执行 composer 命令安装该包
composer require nicolasguilloux/phpunit-dependency-injection-bundle --dev
现在添加测试环境的配置,并按您的需要进行修改
phpunit_dependency_injection: tests_namespace: 'App\Tests'
现在,只需在相应的测试中的 setUp
方法中实现该特质即可。
警告:请注意,该类仍然是 TestCase,因此您无法使用构造函数来注入依赖。这正是 Required
注解/属性变得方便的地方。请参阅Symfony 的文档。
use NicolasGuilloux\PhpunitDependencyInjectionBundle\TestCase\AutowiringTestTrait; use Psr\Log\LoggerInterface; use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase; use Symfony\Contracts\Service\Attribute\Required; final class RandomTest extends KernelTestCase { use AutowiringTestTrait; #[Required] public LoggerInterface $logger; public function setUp(): void { parent::setUp(); self::bootKernel(); $this->autowire(self::getContainer()); } public function testSomething(): void { self::assertInstanceOf(LoggerInterface::class, $this->logger); } }
2. 动机
请参阅动机文章。
3. 文档
3.1. 配置
4. 版本控制
phpunit-dependency-injection-bundle 遵循 语义化版本控制。简而言之,方案是 MAJOR.MINOR.PATCH,其中 1. MAJOR 在发生重大更改时增加,2. MINOR 在以向后兼容的方式添加新功能时增加,3. PATCH 在以向后兼容的方式修复错误时增加。
1.0.0 以下的版本被视为实验性的,任何时间都可能发生破坏性更改。
5. 贡献
欢迎贡献!有许多方式可以贡献,我们感激所有贡献。以下是一些主要的贡献方式
-
错误报告:虽然我们努力提供高质量的软件,但错误可能会发生,我们无法修复我们不了解的问题。所以即使您不确定或者只是想提问,也请报告。无论如何,问题可能表明文档仍然可以改进!
-
功能请求:您的用例没有被当前 api 所覆盖?想要建议更改或添加某些内容?我们很高兴阅读它并开始讨论以尝试找到最佳可能的解决方案。
-
拉取请求:想要贡献代码或文档?我们非常乐意!如果您需要帮助开始,GitHub 有关于拉取请求的文档。我们使用“fork and pull”模式,贡献者将更改推送到他们的个人分支,然后创建拉取请求到主仓库。请确保您的拉取请求针对
master
分支。
提醒一下,所有贡献者都应遵守我们的行为准则。
6. 许可证
phpunit-dependency-injection-bundle 在 MIT 许可证下分发。
有关详细信息,请参阅LICENSE。
7. 开发
您可能会使用Docker和docker-compose
来修改项目。请查看以下命令。
# Start the project docker-compose up -d # Install dependencies docker-compose exec application composer install # Run tests docker-compose exec application bin/phpunit # Run a bash within the container docker-compose exec application bash