[英]how spy a defined variable in node.js
请帮我? 我一直在破坏我的想法,但我不知道我应该如何存根变量? 我错了吗? 我应该使用间谍吗?
我应该如何测试这段代码
module.exports = async () => {
var variable = 'something';
var taskProcessor = require('taskprocessor');
try {
taskProcessor(variable).then().catch();
//blah blah
//blah blah
//blah blah
//blah blah
} catch (error) {
console.log(err);
}
};
首先,你应该知道什么是 stub 或 spy(我故意排除了 mocks)
我们使用双精度来控制方法的行为,然后改变测试方向以覆盖我们测试中的所有路径。
间谍包裹在 function 周围,它不会取代它的功能。 但是使用存根,我们可以定义 output:间谍实际上是在你的敌人内部发送一个间谍(在这种情况下是你的代码:D),以模仿真实实体的行为并为你收集信息!
现在让我们 go 回到您的问题!
在这种情况下,您可以使用 rewire 模块。 从它的 git 页面
rewire 为模块添加了一个特殊的 setter 和 getter,因此您可以修改它们的行为以进行更好的单元测试。 您可以
- 为其他模块或全局变量(如进程)注入模拟
- 检查私有变量
- 覆盖模块内的变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.