dobrosite / phpunit-psr-logger
Инструменты для тестирования кода, использующего PSR-3
Installs: 6 706
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: ^8.0
- phpunit/phpunit: ^9.0 || ^10.0 || ^11.0
- psr/log: ^1.0 || ^2.0 || ^3.0
Requires (Dev)
- composer/package-versions-deprecated: ^1.11
- ergebnis/composer-normalize: ^2.28
- infection/infection: >=0.26,<0.30
- phpstan/extension-installer: ^1.1
- phpstan/phpstan: ^1.12.11
- phpstan/phpstan-phpunit: ^1.4.1
- rector/rector: ^1.0
- roave/security-advisories: dev-latest
- squizlabs/php_codesniffer: ^3.7
- symfony/dependency-injection: ^6.0
- symplify/easy-coding-standard: ^12.0
This package is auto-updated.
Last update: 2024-12-22 05:55:32 UTC
README
Установка
composer require --dev dobrosite/phpunit-psr-logger
Подключение
В тестовой конфигурации вашего приложения вам надо подменить используемую реализацию
Psr\Log\LoggerInterface
экземпляром DobroSite\PHPUnit\PSR3\TestLogger
. Как это
сделать, зависит от устройства вашего приложения, ниже даны примеры для популярных фреймворков.
Symfony
В конфигурацию тестового контейнера зависимостей (обычно — config/services_test.yaml
) добавьте:
services: logger: class: DobroSite\PHPUnit\PSR3\TestLogger public: true
Теперь в тесты, унаследованные от Symfony\Bundle\FrameworkBundle\Test\KernelTestCase
, добавьте
примесь TestLoggerForSymfony:
use DobroSite\PHPUnit\PSR3\Symfony\TestLoggerForSymfony; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; final class SomeTest extends WebTestCase { use TestLoggerForSymfony; public function testSomething(): void { $client = static::createClient(); $crawler = $client->request('GET', '/api/foo'); $this->assertResponseIsSuccessful(); $this->getLogger()->getRecords() ->debug('Expected log message.') // … ->end; } }