【发布时间】:2019-05-29 14:09:24
【问题描述】:
我在 nodejs 中对我的一些代码进行单元测试,这些代码可以与 express 一起使用。 虽然看起来很明显,但我想测试我的路由是否调用了正确的处理函数。
我正在使用 jest 为处理函数创建一个模拟函数。 虽然我成功地尝试测试在另一个函数内部调用了一个函数,但我似乎无法测试从 post 的 express get 调用一个函数(处理程序)。 我们来看一个例子:
水果.js
function orange (req,res,next) {res.status(200)} ;
module.exports = {orange}
app.js
const fruits = require('./fruits')
const express = require('express');
const app = express();
app.get('/fruits', fruits.orange);
module.exports = { app };
当我试图(开玩笑地)测试对 /fruits 的 GET 请求(在 axios 模块的帮助下)正在调用 orange() 时,虽然实际上 orange() 有效,但它不会被保存为调用带有间谍封面的模拟功能封面。
如何测试从 GET 请求中调用了 orange() ?
【问题讨论】:
标签: node.js express testing jestjs