如何使用sinon存根匹配对象的某些值

时间:2019-02-22 08:11:48

标签: unit-testing testing sinon sinon-chai

我一直在使用sinon编写测试。在同一期间,我编写了存根,其中传递了一些输入参数并返回了一个对象。该对象返回一些值以及在执行时由系统生成的随机日期值。因此需要以下指导。

  1. 由于匹配的参数本质上是静态的,因此我该如何处理呢?我不知道实际代码生成的日期的可能值。
  2. 我们如何使用sinon跳过对象的某些键值。即说对象具有以下值。 const object = {name: "abc", employeeNumber : "123"}我只想检查名称是否为“ abc”,并且不需要匹配employeeNumber。

1 个答案:

答案 0 :(得分:0)

来自sinon.match docs

  

要求该值不是nullundefined,并且至少具有与expectation相同的属性。


来自sinon.assert.match docs

  

使用sinon.match测试参数是否可以视为匹配项。


示例:

test('partial object match', () => {
  const object = { name: "abc", employeeNumber : "123" };
  sinon.assert.match(object, { name: 'abc' });  // SUCCESS
})