我想从以下模块对getAuthorizedUsers函数进行单元测试。我需要测试的核心功能是在DB.getUsers的回调函数中。我找不到模仿DB.getUsers回调的方法。
(function () {
const DB = require('./DB');
function getAuthorizedUsers(req, res, callback) {
DB.getUsers(req.db, req.userId, function(err, users) {
users.push({id: 0});
req.users = users;
callback(req, res);
});
}
module.exports = {
getAuthorizedUsers: getAuthorizedUsers
};
})();
这是我到目前为止所做的:
(function () {
"use strict";
var chai = require("chai");
var User = require("./User");
suite("API", function () {
suite("getAuthorizedUsers", function() {
var req = {
db: {},
userId: '',
};
var res = {};
test("adds admin to list of authorized users", function() {
User.getAuthorizedUsers(req, res, function(req, res) {
//assert that req contains the correct list of authorized users
});
});
});
});
}());
为了简化,我更改了名称和代码逻辑。所以,如果代码不遵循最佳实践或没有意义,请原谅我。
编辑:您对如何存根“DB.getUsers”有任何建议吗?答案 0 :(得分:0)
我假设你测试了node.js
这些将帮助您模拟节点模块: