dobrosite / phpunit-psr-logger
Инструменты для тестирования кода, использующего PSR-3
Installs: 6 602
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: ^8.0
Requires (Dev)
- composer/package-versions-deprecated: ^1.11
- ergebnis/composer-normalize: ^2.28
- icanhazstring/composer-unused: ^0.8.2
- infection/infection: ^0.26.0,<0.26.6
- phpstan/extension-installer: ^1.1
- phpstan/phpstan: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5,<9.5.17
- rector/rector: ^0.13.10
- roave/security-advisories: dev-latest
- squizlabs/php_codesniffer: ^3.7
- symplify/easy-coding-standard: ^11.1
This package is auto-updated.
Last update: 2024-10-29 06:41:48 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; } }