jestjs - Jest - 如何断言数组中的所有项目都是对象并包含某些属性?

标签 jestjs automated-tests integration-testing

我想在 jest 中断言数组包含具有某些属性的对象,例如:

[
  { id: 1, name: 'A' },
  { id: 2, name: 'B' },
  { id: 3 }                 // should throw assertion error
]
chaichai-things我会用 should.all.have 来做它是非常自我描述的:
result.should.all.have.property('id');
result.should.all.have.property('name');
jest 中是否有类似的方法来实现此目的? ?

最佳答案

您可以使用 toHaveProperty来自杰斯特。
这是文档 https://jestjs.io/docs/en/expect#tohavepropertykeypath-value

const elements = [
  { id: 1, name: 'A' },
  { id: 2, name: 'B' },
  { id: 3 }                 // should throw assertion error
]

elements.forEach(element => {
    expect(element).toHaveProperty('id')
    expect(element).toHaveProperty('name')
});

关于jestjs - Jest - 如何断言数组中的所有项目都是对象并包含某些属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62563807/

相关文章:

java - 测试设置例程设计模式

reactjs - 使用 RequireJS 依赖项测试 es6 模块时 Jest 中的 "Define is not defined"

xml - 如何为 XML 方法设置 Rails 集成测试?

javascript - 谷歌地图的模拟 addEventListener

nunit - 在远程虚拟机上进行自动化 UI 测试的策略

testing - Symbian 自动化测试工具

.net - 使用 FitNesse 而不是 NUnit

testing - Grails 2.0 集成测试污染?

javascript - React/Jest/Enzyme 浅渲染测试中如何将文本输入到表单中?

reactjs - Jest 框架针对 Jquery 导入抛出错误 "unexpected identifier"