我想为我的服务器创建一个集成测试。不幸的是,我无法解决很多错误情况,因为这取决于项目中某些依赖项的失败。
要更轻松地解释该问题,请考虑以下项目:
主要:
const dep = require('./dep');
module.exports = () => {
return dep();
}
依赖性:
const uuid = require('uuid/v4');
module.exports = () => {
return uuid();
}
测试:
const t = require('tap');
const subject = require('./subject');
t.test('should return 12345', t => {
// mock uuid/v4 module to return 12345
const result = subject();
t.equal(result, '12345');
t.end();
});
这是1级深度依赖情况,但请考虑dependency
更深5级。
所以我来这里有几个问题:
重要提示:
我已经尝试了许多模拟库(mock-require
,proxyquire
,rewire
,testdouble
,mockery
),但是都没有想到集成测试(他们更侧重于单元测试)。
很想听听您的回答!