Задать вопрос
@azeke15

Как замокировать вызывающиеся методы другого класса?

Привет, разрабы! Есть вопрос по тестам. Покрываю первый раз. Внизу пример:
class Book
{
public function bookFunction()
{
$page = new Page();
$page->validate($params);
}
}

class Page
{
public function validate($params)
{
$model = new Model();
$model->getParams($params)
}
}

class Model
{
public function getParams($params)
{
//DB::query...
}
}


Как я могу замокровать метод getParams, если я покрываю тестами класс Book?
  • Вопрос задан
  • 171 просмотр
Подписаться 1 Простой 10 комментариев
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@kosarinin
Создавай объект класса Page через фабрику и уже возвращай мок класса Page. Если ты тестируешь Book, тебе не надо тестировать Page и другие ее зависимости.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы