【发布时间】:2015-12-09 15:05:40
【问题描述】:
我正在为 Node.js 应用程序编写单元测试,我想知道我是否在模拟代码的正确部分。
下面的例子是一个有两个静态方法的假设类。
方法isTokenValid 调用另一个方法decodeToken,它接受令牌和回调。回调在isTokenValid 内部定义。这两个方法属于同一个类。
当对isTokenValid 进行单元测试时,我的方法是模拟decodeToken 方法。
我很清楚,在进行单元测试时,应该模拟 AJAX 请求等依赖项。但是,对于这种类型的依赖,这是否也适用,还是我太细化了?
模拟decodeToken 是单元测试isTokenValid 的正确方法吗?
var TokenClass = {};
TokenClass.isTokenValid(token) {
TokenClass.decodeToken(token, function(err, decoded) {
if (err) {
console.log('There was a validation error');
}
if (decoded) {
return true
};
}
}
TokenClass.decodeToken(token, callback) {
// some logic here to decode token
if (err) {
return callback(err);
}
// if token is not valid
if (!validToken) {
return callback(null, undefined);
}
// if token is valid
return callback(null, decoded);
}
}
【问题讨论】:
标签: javascript node.js unit-testing testing