Laravel, кажется, что насмешка не работает, если в тест включено несколько насмешек - PullRequest
0 голосов
/ 03 февраля 2020

У меня есть этот тест:

public function testTranslationAdditionalRole(): void
{
    //  create an additional role with an admin
    $this->partialMock(MemberService::class, function ($mock): void {
        $mock->shouldReceive('getMemberRolesFromLdap')->andReturn($this->getProfileAdmin());
    });

    ...some tests here

    // add a translation as an anonymous: FORBIDDEN
    $this->partialMock(MemberService::class, function ($mock): void {
        $mock->shouldReceive('getMemberRolesFromLdap')->andReturn($this->getProfileAnonymous());
    });

    ... some tests here

    // add a translation as a translator: OK
    $this->partialMock(MemberService::class, function ($mock): void {
        $mock->shouldReceive('getMemberRolesFromLdap')->andReturn($this->getProfileTranslator());
    });

    ... some tests here

}

Как вы видите, в одном тесте есть 3 макета. И для третьего макета он использует результат второго. Я уверен, потому что я регистрирую возвращение функций. Итак, мой вопрос: возможно ли сделать несколько макетов в одном тесте? Или лучше строить тесты только с одним макетом?

Merci

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...