【发布时间】:2016-05-10 09:32:06
【问题描述】:
我有这些文件:
文件1.js
var mod1 = require('mod1');
mod1.someFunction()
...
文件2.js
var File1 = require('./File1');
现在在为 File2 编写单元测试时,是否可以模拟 mod1,这样我就不会调用 mod1.someFunction()?
【问题讨论】:
-
是的,这是可能的。你应该阅读一些关于依赖注入的内容。看看 sinon.js。
-
看看这个关于模拟的教程:youtube.com/watch?v=fgqh-OZjpYY 它展示了一种你可以使用的技术。是的,一定要看看 sinon。
-
sinon 将如何解决这个问题?
-
Sinon 帮助为正在创建的函数创建存根,以便验证它们是否被正确调用、返回正确的值等。
标签: javascript node.js unit-testing require proxyquire