Я пытаюсь получить доступ к БД в транспортире тестах с использованием драйвера SQL сервера для NodeJs (транспортир является nodejs приложения таким образом, это не проблема)Как удержать транспортир?
Идея заключается в том, чтобы проверить данные Db в наших тестах E2e:
- Мы можем проверить, правильно ли написаны некоторые скрытые вещи в Db, которые не могут быть видны в пользовательском интерфейсе (ex Logs, ..)
- Мы можем выделить функции в нашем тестировании e2e: мы не полагаемся на другую функцию для отображения данных, чтобы проверить, работает ли функция, записывающая данные.
Проблема, с которой я столкнулась, - это когда транспортир завершает взаимодействие с браузером, он прекратится. Поэтому, мой код, чтобы получить доступ к Db не может проверить данные, полученные (Исе expect(dataFromDb).toEqual('foo'))
, поскольку запросы к БД асинхронны в NodeJs.
В то время, когда я получить данные через функцию обратного вызова, транспортир был прекращен.
Мне кажется, что транспортир знает только обещаний веб-браузера и заканчивается, когда есть не выдающийся браузер не обещает.
есть ли решение для поддержания транспортир жив, так что я могу проверить мои данные Db? Спасибо.
@alecxe: транспортир следует рассматривать как настоящий тестер в реальном мире. В реальном мире тестер откроет браузер, проверит его, а затем отправится в Db, чтобы проверить данные. Следовательно, транспортир должен быть разработан с учетом этого. –