Я новичок в издевательстве. Я пытаюсь выяснить это с помощью GitHub API, используя Laravel Package в качестве оболочки. Как я могу издеваться над GitHub::repo()->show('symfony', 'demo');
, не затрагивая реальный API? Что-то странное с Фасадами? Я получаю сообщение об ошибке:
In EvalLoader.php(34) : eval()'d code line 993:
Cannot redeclare Mockery_0_GrahamCampbell_GitHub_Facades_GitHub::shouldReceive()
Код:
use Mockery;
use Tests\TestCase;
use GrahamCampbell\GitHub\Facades\GitHub;
public function testExample()
{
$this->mockGitHubWith([
'id' => 1,
'name' => 'demo',
'full_name' => 'symfony/demo',
]);
$repo = GitHub::repo()->show('symfony', 'demo');
dd($repo);
}
protected function mockGitHubWith($expectations)
{
$github = Mockery::mock(GitHub::class, $expectations);
$github->shouldReceive('api')->andReturn($github);
app()->instance(GitHub::class, $github);
}
также пытался:
use GrahamCampbell\GitHub\Facades\GitHub;
public function testExample()
{
Github::shouldReceive('api')->once()->andReturn(['id' => 1]);
$repo = Github::repo()->show('symfony', 'demo');
dd($repo);
}
Возвращает: Mockery\Exception\BadMethodCallException: Method Mockery_0::repo() does not exist on this mock object
Просто для подтверждения, если я удалю строку GitHub::shouldReceive...
, она будет успешной, но на самом деле попадет в GitHub API.