Вот моя проблема, шаг за шагом :)) Я думал, что это лучше читается таким образом, в отличие от стены текста, жалко пытаясь объяснить мою специфическую проблему.Угловые тесты e2e, влияющие на базу данных
1) У нас есть приложение Angular.js
с PHP
back-end с поддержкой MongoDB
.
2) Protractor
для сквозных испытаний.
3) Необходимо протестировать страницы, которые изменяют базу данных, то есть сценарий регистрации. Я проверяю все этапы регистрации в тесте, поэтому db получает новую пользовательскую запись.
4) Как и ожидалось, тест завершится с ошибкой после его запуска, поскольку у db есть запись для тестового пользователя, и регистрация не требуется - вместо этого пользователь перенаправляется на главную страницу.
Я думал получить пакет mongodb
для node.js
и взаимодействовать с БД в тестах.
Но это просто не так: файлы конфигурации для подключения к БД находятся в файлах php
на бэкэнд, в то время как я пытаюсь написать тесты для чисто front-end части нашего приложения.
Любые идеи?
Что вы пытаетесь проверить здесь? Важно изолировать цель ваших тестов. Если ваша цель - тесты E2E для вашего проекта AngularJS, вы будете издеваться над взаимодействием HTTP, используя http://docs.angularjs.org/api/ngMockE2E.$httpBackend. – pherris
К сожалению, в тестах транспортира нет функции 'inject', поэтому вы не можете вводить макет' $ httpBackend', как вы делали бы это в модульных тестах Karma. :( –
Вы, очевидно, не понимаете концепцию «от конца до конца», если вы говорите о насмешливости. Это приемочные тесты и должны быть именно тем, что испытывает конечный пользователь. Я не знаю ни одного * конечные пользователи моего приложения, которые вводят насмешливую библиотеку в мой код. – hackel