javascript - Chai 预计二分之一的特性具有值(value)

标签 javascript unit-testing chai

是否可以在 Chai 中做类似的事情?:

expect(message).to.have.property('key1', value).or.to.have.property('key2', value);

所以我的意思是,属性一或属性二具有值。

最佳答案

只要 value !== undefinedmessage 存在,这就可以工作

expect([message.key1, message.key2]).to.include(value);

或者您可以使用satisfy:

expect(message).to.satisfy(msg => {
    if (msg.key1 && msg.key1 === value) return true;
    if (msg.key2 && msg.key2 === value) return true;
    return false;
})

Satisfy

关于javascript - Chai 预计二分之一的特性具有值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48765647/

相关文章:

unit-testing - Golang 单元测试 http 处理程序

javascript - 使用 Chai 解决 Protractor 和 Cucumber 中的 promise

javascript - 为什么 Mocha/Chai 不将 babel 自定义错误与常规自定义错误一样对待?

javascript - 为什么这个模拟 api 不能按预期工作?

javascript - netbeans ide coffeescript 将 utf-8 bom 添加到输出文件

Javascript 正则表达式不返回预期值

unit-testing - Spock 单元测试断言日志调用并查看输出

java - Mockito实体管理器返回namedQuery

node.js - 测试函数时替换变量的值

javascript - 如何获取以换行符结尾或以 javascript 正则表达式中的字符串末尾结尾的字符串列表?