使用Jest模拟非导出函数的任何方法吗?

时间:2019-12-05 15:51:42

标签: jestjs

我要从Mocha-Chai / Sinon / Rewire迁移->开玩笑(生活很美好!)。但是我正在为我真正喜欢的一种重新连接机制而苦苦挣扎(不适用于Jest)。

通常在我的类中,我将“私有”函数实现为模块本地的函数(既不是类的一部分,也不是导出的)。喜欢:

function dosomething() {
   return "something";
}

module.exports = class MyClass {
    constructor() {
       this.something = dosomething();
    }
}

通过重新布线,我可以在测试脚本中访问dosomething并直接对其进行测试:

const MyClass = rewire('MyClass");

const dosomething = MyClass.__get__('dosomething');
...

然后我可以直接测试该功能。

成为Jest的新手,对我而言,没有明显的机制或模式可以支持它吗?或除了间接测试以外,什么是合理的选择?

0 个答案:

没有答案