簡體   English   中英

如何在 PHPUnit 測試中“模擬”Sentry 客戶端

[英]How to "mock" Sentry client in the PHPUnit tests

如果您需要測試 PHP 應用程序錯誤處理程序,則必須“模擬”或僅禁用 Sentry 客戶端中遠程服務器上的發送錯誤。 這樣做的正確方法是什么?

這是 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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM