我习惯于广泛使用withArgs
来有条件地返回假值,从而对Sinon.js进行了模拟(实际上是伪造,但无论如何)。现在,我试图迁移到Jest,但在模拟API中找不到类似的东西。
我想要什么:
const t = sinon.stub();
t.withArgs('foo').returns('bar');
console.log(t('foo')); // 'bar'
console.log(t('qux')); // undefined
似乎在Jest中做到这一点的唯一方法是使用mockImplementation
,这意味着我必须手工编写arg匹配器。
在Jest中有更好的方法吗?
答案 0 :(得分:1)
到目前为止,还没有任何Jest内置方法。
基于this question,有一个第三方库执行类似的操作:https://github.com/timkindberg/jest-when