如何使用Node.js进行集成测试?

How to perform integration testing using Node.js?

我正在编写一个充当 GraphQL 服务器的 Node.js 应用程序。我想测试 GraphQL 是否给我正确的结果。

我的猜测是每次测试都向服务器发出请求,然后看是否正确。但我不确定如何设置它,如何 运行 服务器并在所有测试之前清理数据库并在所有测试完成后将其关闭。

我之前使用 Ruby on Railsrspec 合作,所以我想做一些像 rspec 在 Node.js 中所做的事情。有没有办法使用 Jest 来完成它?如果没有,我该如何做类似的事情?

这实际上不是 Jest 的特定问题,而是更多关于如何在 Node.js 中执行集成测试的问题。

除了您要确保关闭自动模拟之外,您使用 Jest 的事实几乎没有什么不同。

通常在编写集成样式测试时,我会使用 supertest 之类的东西来发出请求并设置数据库以使用 sqlLite 或类似的 运行 作为种子。

我建议寻找类似的工具,例如 graphql-tester