Я пытаюсь проверить свой контроллер с помощью этого теста (я использую Laravel, если это имеет значение): <?php use Zizaco\FactoryMuff\Facade\FactoryMuff; class ProjectControllerTest extends TestCase { public function setUp() { parent::setUp(); $this->mock = $this->mock('Dumminvoicing\Storage\Project\ProjectRepositoryInterface'); } public function mock($class) { $mock = Mockery::mock($class); $this->app->instance($class, $mock); return $mock; } protected function tearDown() { Mockery::close(); } public function testRedirectWhenNotLogged() { […]
Я хочу использовать mock-объект (Mockery) в моем тесте PHPUnit. Объект mock должен иметь как некоторые общедоступные методы, так и некоторые общедоступные свойства. Класс – это модель Laravel Eloquent. Я попробовал это: $mock = Mockery::mock('User'); $mock->shouldReceive('hasRole')->once()->andReturn(true); //works fine $mock->roles = 2; //how to do this? currently returns an error $this->assertTrue(someTest($mock)); … но установка публичного свойства возвращает […]