Задать вопрос
@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 комментариев
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@kosarinin
Создавай объект класса Page через фабрику и уже возвращай мок класса Page. Если ты тестируешь Book, тебе не надо тестировать Page и другие ее зависимости.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽