Правильный способ утверждать, что ложные ожидания прошли - PullRequest
1 голос
/ 08 октября 2019

При написании тестов и использовании Mockery для слежки за классами, есть ли правильный способ утверждать, что ожидание прошло?

У меня есть это решение на данный момент, которое, очевидно, неверно, но есть ли правильноекстати?

public function test_page_view_report(): void
{
    $analyticsClient = Mockery::spy(TestAnalyticsClient::class)->makePartial();
    $this->app->instance(AnalyticsClient::class, $analyticsClient);

    $report = new PageViewReport;
    $report->generate();

    try{
        $analyticsClient->shouldHaveReceived('withMetrics')->with([AnalyticsMetric::PAGE_VIEWS])->once();
        $this->assertTrue(true);
    } catch (Exception $e) {
        $this->assertTrue(false);
    }
}

1 Ответ

0 голосов
/ 08 октября 2019

расширяет ли ваш тестовый класс TestCase Laravel?

Если нет, то вам нужно вручную вызвать Mockery :: close (). Добавьте это в конце вашего теста:

public function tearDown() {
    \Mockery::close();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...