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

标签 javascript node.js unit-testing sinon

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

function util1() {
    ...
}

function util2() {
    ...
}

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

export {
    util1,
    util2,
    util3
}

内部 util3我想模拟(或 stub )对 util1 的调用和 util2 .

最佳答案

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

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

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

相关文章:

c# - TDD 是否需要单元测试?

javascript - 两个可滚动的文本区域

javascript - 如何使用 Node.js Crypto 创建 HMAC-SHA1 哈希?

javascript - BeautifulSoup 像 nodejs 的刮刀

node.js - Mongodb 按今天的日期查找创建的结果

python - Pytest 适用于旧模拟,但不适用于 unittest.mock

c# - 使用 Moq 模拟插入查询到 MySQL 数据库

javascript - Angularjs http post到c#不起作用

javascript - 如何区分菜单和子菜单的效果?

javascript - 将URL返回值记录到Firebug控制台中