Size: a a a

2020 April 06

PF

Petr Filippov in Laravel Pro
Askold Monarkhov
ну типо шторм сможет подсказывать в данном случае?
А что он тебе подскажет?
источник

АЗ

Алихан Закиров... in Laravel Pro
И не городить костыли
источник

AM

Askold Monarkhov in Laravel Pro
Petr Filippov
А что он тебе подскажет?
источник

АЗ

Алихан Закиров... in Laravel Pro
И даже не обращать внимание на ide-helper. ide-helper, это такой костылек сбоку, чтобы оно хоть как-то нормально отображало)
источник

PF

Petr Filippov in Laravel Pro
Даже если интерфейс введёшь ты все равно явно знать не будешь, какой из классов туда приходит
источник

PF

Petr Filippov in Laravel Pro
У тебя класс может реализовывать, но не передаваться параметром в эту функцию
источник

AM

Askold Monarkhov in Laravel Pro
при этом в файле ide хелпера нету этого класса, т.е. он умеет как-то сделать это
источник

АЗ

Алихан Закиров... in Laravel Pro
А тебе и не надо, тебе должно быть достаточно знания об интерфейсе
источник

A

Aztwin in Laravel Pro
Кто может объяснить для чего в каждом тесте нужно создавать отдельного пользователя? Что если создать приватный параметр класса $user; и в конструкторе определить фабрику
источник

PF

Petr Filippov in Laravel Pro
Тебе надо сбрасывать его поля
источник

PF

Petr Filippov in Laravel Pro
Но судя по примеру, здесь это не требуется
источник

PF

Petr Filippov in Laravel Pro
Фикстуры в помощь
источник

A

Aztwin in Laravel Pro
Petr Filippov
Тебе надо сбрасывать его поля
А почему нельзя сделать

private $user;

public function testOne()
$this->user = factory()...

public function testTwo()
$this->user равен null

$user определена только в первом тесте. Во втором уже null
источник

v

vladimir in Laravel Pro
Aztwin
А почему нельзя сделать

private $user;

public function testOne()
$this->user = factory()...

public function testTwo()
$this->user равен null

$user определена только в первом тесте. Во втором уже null
Тесты исполняются отдельно друг от друга. Можно сделать в конструкторе теста $this->user = factory() и тогда возможно сработает.
источник

A

Aztwin in Laravel Pro
vladimir
Тесты исполняются отдельно друг от друга. Можно сделать в конструкторе теста $this->user = factory() и тогда возможно сработает.
Не работает
источник

PF

Petr Filippov in Laravel Pro
Aztwin
А почему нельзя сделать

private $user;

public function testOne()
$this->user = factory()...

public function testTwo()
$this->user равен null

$user определена только в первом тесте. Во втором уже null
Я не пишу, что нельзя
источник

PF

Petr Filippov in Laravel Pro
В этом случае, можешь сделать, но если тебе надо будет тестировать другие поведения с другими параметрами, то уже подход не универсален
источник

A

Aztwin in Laravel Pro
В классе во всех тестах создается пользователь с одним и тем же набором ролей, как определить его один раз, чтобы не создавать каждый раз?
источник

D

Dymon in Laravel Pro
Aztwin
А почему нельзя сделать

private $user;

public function testOne()
$this->user = factory()...

public function testTwo()
$this->user равен null

$user определена только в первом тесте. Во втором уже null
можно и так, только это нужно делать в методе protected function setUp(), parent::setUp() + твоя логика. P.S. роль тоже нужно через фабрику создавать....
источник

EK

Evgeniy Kuvshinov in Laravel Pro
Переслано от Evgeniy Kuvshinov
источник