Я изучаю TDD, но изо всех сил стараюсь принять его, поскольку это не просто.
Вопрос, на который я не могу ответить, " Как написать тест до того, как существует какой-либо код реализации?".
Если тип целевого класса/целевого метода/целевого типа/целевого типа возврата не существует,
- На что мы ссылаемся при написании кода в тесте. Как начать запись теста?
- Как прошел тест, если все, что мы могли написать, это просто имя метода теста до фактического кода реализации?
Все говорят WHY, но не HOW
Я изо всех сил старался найти ресурсы, которые разрабатывают при написании тестов перед производственным кодом, но, полагая, что я пропустил хорошие ресурсы, большинство из них заполнено клише объясняя, почему ТТД важно, чем сосредоточиться на практике его принятия.
Пример использования.
Предположим, что мы разрабатываем программное обеспечение для Университета, и наш прецедент - это регистрация курса.
Чтобы это было просто, давайте ограничимся этим обсуждением
- : "Студент может зарегистрироваться максимум на 3 курса за семестр"
- тестовый сервисный уровень и уровень dao.
псевдокод
ENROLL(studentId, courseId)
//check if student enrolled in less than 3 courses in the same semester as given courseId belongs in.
//if yes, enroll him/her.
//if not, return an error.
Фактическая реализация выше может охватывать пару классов, включающих службы, daos и т.д.
Пожалуйста, не могли бы вы объяснить, как тестировать-развивать его шаг за шагом? Если бы вы реализовали это с использованием TDD, как вы делаете это шаг за шагом.
Я надеюсь, что это может помочь во многих битвах, подобных мне в будущем.