У меня есть класс вроде:
class Foo {
function getCurrentBar() {
$model = Query::findByPk($this->getSession()->get('current_bar')); // Pseudocode...
return $model;
}
}
Таким образом, в моем приложении в основном по одному столбцу за раз, и он сохраняется в сеансе как целое число.Я часто вызываю вспомогательную функцию, которая находит экземпляр модели, она делает запрос БД.Кэширование тоже есть, но это не имеет значения.
Мой вопрос такой: как мне выполнить модульное тестирование с этим?Есть классы, которые я проверяю, которые нуждаются в этом.Я думаю, что я мог бы изменить сеанс, чтобы он содержал идентификатор, но тогда это означает, что мне нужно иметь соответствующую модель в базе данных.
Будет ли лучший способ добавить метод setCurrentBar()
только для целей модульного тестирования?Тогда я мог бы смоделировать объект bar и установить его, и он будет использоваться для всех модульных тестов.Имеет ли это смысл?