unit-testing - 如何使用 sinon stub 匹配对象的某些值

标签 unit-testing testing sinon sinon-chai

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

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

最佳答案

来自sinon.match docs :

Requires the value to be not null or undefined and have at least the same properties as expectation.


来自sinon.assert.match docs :

Uses sinon.match to test if the arguments can be considered a 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/

相关文章:

android - 期待 Android Espresso 测试中出现异常 - 失败

unit-testing - 使用 Visual Studio 测试套件/NUnit 自动化集成测试 MSMQ 的最佳方法是什么?

testing - 持续测试生产环境是有意义的

javascript - sinon:如何 stub 整个类,而不仅仅是一个方法

当集合获取成功回调调用渲染时测试 Backbone View

unit-testing - 测试容器中StartupCheck策略和Wait策略的区别

c++ - 如何模拟 QML 组件

python - 如何测试 Django 应用程序

go - 内存有效的方式

javascript - 尝试设置状态代码时,res.status 不是函数