【问题标题】:How to match some values of object using sinon stub如何使用 sinon stub 匹配对象的某些值
【发布时间】:2019-07-16 06:54:46
【问题描述】:

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

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

【问题讨论】:

    标签: unit-testing testing sinon sinon-chai


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2014-08-04
      • 1970-01-01
      • 2019-09-26
      • 1970-01-01
      • 2018-07-19
      • 2012-07-04
      • 2015-12-11
      • 2018-08-28
      相关资源
      最近更新 更多