Jest是否有一种方法可以根据输入有条件地返回值?

时间:2019-08-26 21:00:04

标签: jestjs

我习惯于广泛使用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中有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

到目前为止,还没有任何Jest内置方法。

here有一个问题,here有一个功能建议。

基于this question,有一个第三方库执行类似的操作:https://github.com/timkindberg/jest-when

相关问题