] Пусть говорят, что вы пишете функцию, чтобы проверить, была ли страница достигнута по соответствующему URL , На странице есть «каноническая» заглушка - например, хотя страницу можно было найти по адресу stackoverflow.com/questions/123, мы бы предпочли (по причинам SEO) перенаправить ее на stackoverflow.com/questions/123/how-do -i-move-the-turtle-in-logo - и фактическое перенаправление безопасно содержится в его собственном методе (например, redirectPage ($ url)), но как правильно протестировать функцию, которая ее вызывает?
Например, возьмите следующую функцию:
function checkStub($questionId, $baseUrl, $stub) {
canonicalStub = model->getStub($questionId);
if ($stub != $canonicalStub) {
redirectPage($baseUrl . $canonicalStub);
}
}
Если бы вы проводили модульное тестирование функции checkStub (), не помешало бы перенаправление?
Это часть более крупной проблемы, когда некоторые функции кажутся слишком большими и покидают сферу модульного тестирования и попадают в мир интеграционного тестирования. Мой разум сразу же думает о маршрутизаторах и контроллерах, как имеющих такие проблемы, поскольку их тестирование обязательно приводит к генерации страниц, а не ограничивается только их собственной функцией.
Я просто провалюсь при модульном тестировании?