我一直在使用 sinon 编写测试。在此期间,我编写了 stub ,其中传递了一些输入参数并返回了一个对象。该对象返回一些值和一个系统在执行时生成的随机日期值。因此需要以下指导。
- 我该如何处理,因为匹配的参数本质上是静态的,而且我不知道实际代码生成的日期的可能值。
- 我们如何使用 sinon 跳过对象的某些键值。即说对象具有以下值。
const object = {name: "abc", employeeNumber : "123"}
我只想检查 name 是否为“abc”,不需要匹配 employeeNumber。
最佳答案
来自sinon.match
docs :
Requires the value to be not
null
orundefined
and have at least the same properties asexpectation
.
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/