如何为集成测试模拟嵌套依赖项

时间:2018-08-23 14:55:34

标签: javascript node.js testing mocking integration-testing

我想为我的服务器创建一个集成测试。不幸的是,我无法解决很多错误情况,因为这取决于项目中某些依赖项的失败。

要更轻松地解释该问题,请考虑以下项目:

主要

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级。

所以我来这里有几个问题:

  1. 如何真正轻松地深入项目中的东西?
  2. 也许我应该忽略无法涵盖的集成测试用例,而只能依靠单元测试?

重要提示:

我已经尝试了许多模拟库(mock-requireproxyquirerewiretestdoublemockery),但是都没有想到集成测试(他们更侧重于单元测试)。

很想听听您的回答!

0 个答案:

没有答案