如何使用 jest 测试 Apollo Server 订阅?

How can I test Apollo Server subscriptions using jest?

我正在使用 apollo-testing-library 编写集成测试,它允许我修改和查询但不能订阅和测试。我的问题是,有没有人有他们使用过的任何技术或知道使用 Jest 模拟订阅的方法?

我肯定迟到了,这不是一个明确的答案。但我自己也遇到了同样的障碍,我认为有人会觉得这很有用。

我的解决方案最终成为订阅的端到端测试。

意思是我:

  • 启动我现有的 graphql 服务器
  • 在节点中创建一个 apollo 客户端
  • 在我的测试中创建订阅

我在这里写了一个示例要点:

https://gist.github.com/patrixr/2536ee396d488bd5e38b0278513eefeb