javascript - 函数内部的 stub 函数调用

标签 javascript node.js unit-testing sinon

我正在使用 nodejs 编写一个网络应用程序。我有一些实用程序功能,我单独导出和测试。不过,还有另一个函数,它调用我想要 stub 的一些 utils 函数(使用 sinon)。
从目前为止我所看到的来看,我只能在对象上 stub 方法,那么我应该如何设计我的实用程序函数以便可以测试所有这些函数?

function util1() {
    ...
}

function util2() {
    ...
}

function util3() {
    ...
    util1();
    ...
    util2();
}

export {
    util1,
    util2,
    util3
}

util3 内部,我想模拟(或 stub )对 util1util2 的调用。

最佳答案

您可以将 util1 和 util2 放入单独的模块中,然后使用某些解决方案或现有模块,例如 mock-require https://github.com/boblauer/mock-require

但也许最简单的解决方案实际上是更改您的设计以使用对象。然后,您可以使用 stub 创建对象,并使用 util3 方法将其输入到对象中。

关于javascript - 函数内部的 stub 函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39439208/

相关文章:

node.js - 我如何在discord.js中检查一个人是否上线、离线等?

javascript - macOSX 上的 Electron - 将文件复制到 ~/Library

java - JUnit 断言 null - 使用 stub 和模拟

python - 为什么嵌套时不添加函数的速度测试? (Python)

unit-testing - Kotlin 协程单元测试失败,错误为 "Module with the Main dispatcher had failed to initialize"

javascript - D3圆包: html in text attribute

javascript - 如何使用 YouTube JS API 在 5 秒后跳过广告?

javascript - 开源 Feed/Wall 插件

javascript - 处于开发者模式时,视频流无法在 Xbox One 上运行

node.js - 连接到 AWS DocumentDB 时出现连接错误