【发布时间】:2020-06-04 11:09:15
【问题描述】:
我正在使用 jest 和 supertest 对我的 API 端点进行 e2e 测试。 api 端点是用打字稿快速实现的。我正在处理的问题是我的应用程序设置为微服务,其中我的一些端点向其他端点发出 HTTP 请求。出于这些测试的目的,所有这些微服务都安装在同一个应用中。
所以我正在使用
const res = await request(app)
.get(endpoint)
.set('Authorization', authorization);
expect(res.status).toEqual(200);
获取我的端点。但这会返回 statusCode 500 和错误 Error: connect ECONNREFUSED 127.0.0.1:8999。端点确实向同一主机上的另一个端点发出 HTTP 请求。我猜 supertest 实际上并没有启动整个应用程序,因此其他 api 端点不可用?有没有办法解决这个问题?我不想模拟另一个端点,因为这应该是一个端到端的测试。单元测试也可用,但现在我正在编写 e2e 快照测试。
【问题讨论】:
标签: typescript jestjs microservices e2e-testing supertest