Насмешка не может вызвать мой метод в методе тестирования

Я пытаюсь написать тест для метода в классе ниже. Однако, когда я запускаю тест, я получаю сообщение об ошибке, что get_b64 никогда не запускается? Я не понимаю, как это не работает.

Я немного просмотрел документацию по насмешкам для тестирования статических методов, но, насколько я могу судить, эта ошибка не из-за этого?

Что мне нужно изменить в моей стратегии тестирования или иметь возможность имитировать вызов функции в имитируемом объекте?

Класс:

namespace App\Services\Steam;

use App\Services\Steam\Utils;

class Steam
{
    public function profile(string $steamID)
    {
        $b64 = Utils::get_b64($steamID);

        if ($b64 === null) {
            throw new \App\Exceptions\InvalidSteamId();
        }

        return new Profile($b64);
    }   
}

Прецедент:

public function test_create_user_object()
{   
    $id = "123"
    $utilsMock  = Mockery::mock(\App\Services\Steam\Utils::class);

    $utilsMock->shouldReceive('get_b64')
                ->once()
                ->with($id)
                ->andReturn($id);

    $steam = new \App\Services\Steam\Steam();
    $steam->profile($id);
}

person Adam Jarvis    schedule 11.10.2017    source источник


Ответы (1)