【发布时间】:2018-02-24 20:00:43
【问题描述】:
我最近开始编写单元测试,并开始转向集成测试。我有这个相当简单的方法,但我对如何接近甚至如何准确地测试它有点迷茫。
list (token, cb) {
const requestArgs = {
headers: { 'Authorization': `Bearer ${token}` },
method: 'GET',
uri: `${BASE_URL}/rest/V1/modules`,
json: true
}
request(requestArgs, (err, msg, resp) => {
if (err) {
return cb(err) // library error
}
return cb(null, resp)
})
}
通过阅读各种文章和 Sinon 文档,听起来我可能需要 request() 的“间谍”或“模拟”?即使我用良好的响应伪造了外部 API 调用,如果它总是返回良好的响应有什么好处,因为所有此方法所做的都是放在一起 requestArgs 并返回外部调用的响应。我对“stub”、“spy”和“mock”这些术语以及我需要为这个包装方法做什么感到困惑。
【问题讨论】:
-
查看这个 SO 问题了解 Mock、Stub 和 Spy stackoverflow.com/questions/24413184/… 之间的区别
标签: node.js unit-testing mocha.js integration-testing sinon