#typescript #jestjs #graphql #apollo #apollo-server
#typescript #jestjs #graphql #apollo #apollo-сервер
Вопрос:
Я использовал apollo-testing-library для написания интеграционных тестов, это позволяет мне изменять и запрашивать, но не подписываться и тестировать. Мой вопрос в том, есть ли у кого-нибудь какие-либо методы, которые они использовали, или знают способ подделать подписку с помощью Jest?
Ответ №1:
Я определенно опаздываю на вечеринку, и это не совсем ясный ответ. Но, пройдя через то же самое препятствие, я подумал, что кто-то может найти это полезным.
Мое решение в конечном итоге стало Сквозным тестированием подписок.
Имея в виду, что я:
- Загрузите мой существующий сервер graphql
- Создайте клиент apollo в node
- Создайте подписки в моем тесте
Я написал здесь примерную суть:
https://gist.github.com/patrixr/2536ee396d488bd5e38b0278513eefeb
Комментарии:
1. Мне тоже нужно это сделать, и я рассматриваю
superwstest
( github.com/davidje13/superwstest#readme ) поскольку мои тесты запросов / мутаций уже используютсяsupertest
. Вы вообще изучали это? Мне нравится ваш подход к использованию фактического ApolloClient, но он больше похож на настройку.2. @jamis0n не знал об
superwstest
этом, может быть вариант. Вы правы, что настройка Apollo — это сложная настройка, но в конце концов она окупилась, поскольку мы можем тестировать сервер с тем же стеком, который работает на интерфейсе.