javascript - Sinon - 监视函数中定义的函数
问题描述
我有一个模块可以导出一些看起来像这样的快速中间件:
// my_middleware.js
module.exports = (someMiddleware) => {
function loadExternalData (val) { ... }
moreMiddleware.use(async function (req, res, next) {
const externalData = loadExternalData(req.headers['some-info'])
someMiddleware(externalData, req, res, next)
})
return myMiddleware
}
我正在尝试测试的返回值,loadExternalData
但我不知道该怎么做。我试过这个
it ('returns the expected response', function() {
const myMiddleware = require('my_middleware.js')
const someMiddleware = require('some_middleware.js')
const loadExternalData = sinon.spy(myMiddleware, 'loadExternalData')
myMiddleware(someMiddleware)
loadExternalData.should.have.returned('some data')
})
这给了我错误TypeError: Attempted to wrap undefined property loadRegionInfos as function
测试这个的正确方法是什么?
解决方案
推荐阅读
- c++ - 来自向量的c ++字符串连接
- vue.js - 无法从 Vue 组件调用 Vuex 命名空间模块操作
- postgresql - 如何将 CSV 导入 PostgreSQL
- c# - 在 Unity 中暂时隐藏图像的视觉
- python - 使用函数参数的函数中的 Python 类抛出 NameError: name 'x' is not defined
- corda - REST API 和 Corda 安全问题
- lua - '=' 预计在 'local' roblox lua 附近
- java - 如何在 Libgdx 中协调声音和动画?
- data-mining - 在监督学习模型中,LDA 或 PCA 哪个是减少特征的好选择?
- typo3 - 由于未检测到 APCu 模块而导致的扩展typo3_console 问题