На мой взгляд, стратегия, которая будет использоваться в тестах, является очень личным решением команды.Обычно в своих проектах я использую BDD (Behavior-development development) для обеспечения функциональности API.
Например (Особенности CRUD):
- Я создаю новые данные, используя сервис(banana.create)
- Я перечисляю все данные (banana.list) и проверяю, существуют ли новые данные, тогда
- Я перечисляю с использованием фильтра (banana.list? id = xxx) и проверяюесли структура ответа в порядке
- Я удаляю строку (banana.delete) и проверяю ее с помощью службы списка ...
А для специфических компонентов модели я используюTDD (разработка через тестирование) с использованием концепций макета ...
Но основные сложности заключаются в разработке приложения ... а не в тестах: D
[] s