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


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

最佳答案

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
})

关于unit-testing - 如何使用sinon stub 匹配对象的某些值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54822682/

10-11 12:48