Я хотел бы установить надежную основу тестирования e2e в нашем командном проекте, но я не могу найти простое решение этого вопроса:
Когда вы издеваетесь над всеми вашими вызовами, каков наилучший способ определить, была ли изменена реальная модель объектов, возвращаемых вашим сервером?
Ваши тесты все равно будут проходить, потому что они тестируют устаревшую версию модели, но приложение потенциально может быть повреждено.
Например, если макет предполагает, что /api/users/1
возвращает null
, если пользователь не существует, когда он фактически возвращает пустой объект, то, хотя тесты могут пройти, проверяемое поведение основывается на неверных предположениях и поэтому может произойти непредвиденным образом.
Или, может быть, бэкэнд каким-то образом предоставляет статические json файлы с новейшей современной моделью, и frontend полагается на это?
Это, конечно, предполагает, что люди, работающие на бэкэнд и люди, работающие над интерфейсом, являются отдельными командами.
Я использую Angular 1.x и Protractor, но это не зависит от технологии.