在node.js中模拟sinon注入服务

时间:2018-06-25 14:16:21

标签: javascript node.js testing sinon

我在父项目中有以下课程(父项目将是子项目中的模块):

export default class testService {

    constructor({loggerFactory,childService}) {
        this.logger = loggerFactory.logger
        this.child = childService;
    }
}

当我运行测试时,由于子服务不存在,测试已失败。 仅当我打开在节点模块中包含父模块的子项目时,该服务才存在

所以我的问题是我该如何模拟它以防止测试失败

1 个答案:

答案 0 :(得分:2)

在测试中实例化类时,可以传递存根childService

const loggerFactory = {
  logger: () => {},
}

const childService = {}

const mockTestService = new testService({loggerFactory, childService});