【发布时间】:2021-05-11 09:27:44
【问题描述】:
我想用 chai 对一些函数进行单元测试,这些函数是在函数实现之前编写的,因此它们也可以作为设计指南。
因此,我想确保这些函数的返回值始终遵循一个精确的模式,例如这个:
{
id: #some unkown UID,
seller: 'user1',
seller_offer: [
{
inventory: #some inventory uuid,
item: 'red_card',
amount: '11',
}
],
recipient: 'user2',
recipient_offer: [
{
inventory: #some inventory UUID,
item: 'coin',
amount: '1234',
}
]
}
返回值不应该有任何额外的键并包含所有必需的键。
如果事先知道所有返回值,那么使用深度相等就很容易了。现在的问题是其中一些值是 UUIDS,在运行函数之前显然不知道这些值。有很多这样的功能。
我希望能够简单地将库存和 id 值设置为 null,以便 chai 确保密钥存在,但实际上并不比较它的值(或者甚至可能是一个通配符对象来检查这些值是否实际上是 UUIDS) .
有没有办法可以做到这一点?基本保证JSON的结构正确,同时对部分值进行检查。
【问题讨论】:
标签: javascript json unit-testing testing chai