dobrosite/phpunit-psr-logger

用于测试使用PSR-3的代码的工具

0.1.0 2022-10-31 12:50 UTC

This package is auto-updated.

Last update: 2024-08-29 06:07:36 UTC


README

安装

composer require --dev dobrosite/phpunit-psr-logger

连接

在您应用程序的测试配置中,您需要用DobroSite\PHPUnit\PSR3\TestLogger实例替换使用的Psr\Log\LoggerInterface实现。具体如何操作取决于您的应用程序架构,以下为流行框架的示例。

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;
    }
}