Как тестировать методы которые используют сторонние данные?
Изучаю тестирование, начинают возникать закономерные вопросы, на которые я не могу найти ответы в интернете. Как тестировать методы, которые используют не только данные, которые передают им в параметрах? Например в веб приложении, метод принимает ID обьекта как параметр из url, внутри проверяет, залогинен ли юзер, является ли этот юзер админом, потом проверяет, сколько в базе данных еще обьектов с названиями, как у обьекта ID. Ну и возвращает HTML текст.
Как такое тестировать?
Спасибо.
Для тестирования таких методов придется создавать тестовое окружение и трудоемкие по реализации тест-кейсы. Проще разбить такие методы на множество слабосвязанных между собой (отдельные методы для каждого из перечисленных вами действий, связать их между собой желательно простыми, легко повторяемыми в тест-кейсах типами данных) и тестировать их сначала отдельно. Покрытие кода тестами будет более качественным, т.к. для простых методов легче предусмотреть пограничные случаи, тестирование итоговой связки методов сводится к одному-двум контрольным случаям передачи простых типов данных между методами.