【发布时间】:2018-11-16 16:23:13
【问题描述】:
我有 2 个相互交互的文件 controller.js 和 entity.js。我正在测试controller.js,它创建了一个entity.js(类)的实例并使用了它的一个功能。如何存根/模拟/监视调用和该方法的返回?
controller.js
const controller= async (req, res) => {
try {
...
const entity = new Entity({
...
});
const validation = await entity.validate();
...
return res.send()
}
} catch (error) {
return res.send(error)
}
};
Entity.js
class Entity{
constructor() {
...
}
...
async validate() {
...
return response;
}
}
知道如何使用 supertest、sinon 和 chai 测试 controller.js 吗?
【问题讨论】:
-
我建议研究依赖倒置 - 如果控制器没有更新它所依赖的东西,这将更容易测试。
标签: javascript node.js sinon chai supertest