Как видно из названия, я пытаюсь понять, как выполнить модульное тестирование (или, возможно, какой-либо другой вид тестирования) каркас, построенный аналогично FuelPHP, где вы используете статические вызовы для установки и доступа ко всему.
Это приводит к следующему коду:
class Appointment {
public static function updateStartTime($binds) {
$query = "UPDATE appointment SET start_time = :start_time
WHERE appointment_id = :appointment_id";
return DB::update($query, $binds);
}
}
И в итоге получается код контроллера, который выглядит следующим образом:
$result = Appointment::updateStartTime(array(
'start_time' => '10:00 am',
'appointment_id' => 10
));
Итак, чтобы протестировать метод Appointment :: updateStartTime, мне нужнобыть в состоянии предоставить ему поддельный метод DB :: update, но я не уверен, с чего начать.
Я знаю, что мог бы просто включить фиктивный класс как часть набора тестов:
class DB {
public static function update($params) { return 'success'; }
}
Но это кажется утомительным.Есть ли лучший способ добавить тестовое покрытие в мою среду, при этом все еще используя этот стиль кодирования?