如何在PHPUnit测试中“模拟” Sentry客户端

问题描述 投票:0回答:1

如果需要测试PHP应用程序错误处理程序,则必须“模拟”或仅禁用Sentry客户端中远程服务器上的发送错误。什么是正确的方法?

php laravel mocking phpunit sentry
1个回答
0
投票

这是Laravel的示例,但是这种方法适用于任何框架。

use Sentry\Client;
use Sentry\EventFactory;
use Sentry\Options;
use Sentry\Serializer\RepresentationSerializer;
use Sentry\Serializer\Serializer;
use Sentry\Transport\NullTransport;

private function mockSentry(): void
{
    /** @var \Sentry\State\Hub $sentry */
    $sentry = $this->app['sentry']; // Get sentry object from Laravel's container

    $client = new Client(
        new Options(),
        new NullTransport(),
        new EventFactory(
            new Serializer(new Options()),
            new RepresentationSerializer(new Options()),
            new Options(),
            '1',
            '1',
        ),
    );
    $sentry->bindClient($client);
}
© www.soinside.com 2019 - 2024. All rights reserved.