Javascript 如何使用jest测试路由和端点

Javascript 如何使用jest测试路由和端点,javascript,tdd,jestjs,Javascript,Tdd,Jestjs,我今天刚开始学习jest,我读到不应该使用实际的api端点,因为它很慢,或者不是标准做法。而是创建表示将返回的数据的模拟 如果测试路由的目的是为了看看它是否有效,那么对数据进行模拟就不会违背目的。我想我只是被所有的初学者指南弄糊涂了,而笑话文档有点让我不知所措 我的问题是我应该为我的节点服务器测试我的路由文件,以及如何为我的节点服务器测试我的路由文件。如果我的路线如下所示: // routes.js const express = require('express'); const router

我今天刚开始学习jest,我读到不应该使用实际的api端点,因为它很慢,或者不是标准做法。而是创建表示将返回的数据的模拟

如果测试路由的目的是为了看看它是否有效,那么对数据进行模拟就不会违背目的。我想我只是被所有的初学者指南弄糊涂了,而笑话文档有点让我不知所措

我的问题是我应该为我的节点服务器测试我的路由文件,以及如何为我的节点服务器测试我的路由文件。如果我的路线如下所示:

// routes.js
const express = require('express');
const router = express.Router();
const axios = require('axios')

// my backend is connected to another api in this project
router.get('/', (req,res) => {
  axios.get('https://jsonplaceholder.typicode.com/users/1').then(data => res.json(data.data))
})
请告诉我,我已经阅读了它没有帮助的文档,你能给我一个具体的例子吗?

那些说“你不应该点击实际的api端点,因为它很慢,或者它不是标准实践…”的人试图阻止你做的是测试与外部服务的接口

Jest用于单元测试,而不是端到端或集成测试。测试第三方API,甚至不是您正在构建的应用程序中的API,超出了单元测试的范围

您所问的实际上是一个集成测试,在测试节点或Express应用程序时,有一个答案可能会对您有所帮助