Например у меня есть модель.
class MyModel extends Model
{
public function foobar()
{
$customer = Customer::find()->where('age>30')->all();
// bussiness logic
// ..................
}
}
Я хочу написать
юнит тест для метода foobar. Мой метод foobar зависит от статического метода find класса Customer. Мой юнит тест не должен делать хит в базу. Есть ли какие нибудь варианты сделать мок этого метода Customer::find() ? Если это возможно - покажите пример.
Я пока склоняюсь к такому решению проблемы, которую подсмотрел здесь -
https://sebastian-bergmann.de/archives/882-Testing...class MyModel extends Model
{
public function doSomething(Customer $customer = NULL)
{
if ($customer === NULL) {
$customer = Customer::find()->where('age>30')->all();
}
// ...
}
}
Может есть ещё какие варианты?