Tho*_*ggi 6 javascript testing unit-testing mocha.js chai
我无法检查此对象是否需要执行链接多个.to.have.property语句的操作?我相信我只是将结果从最后一个返回.to.have.property到下一个.
expect(shopify.formatRequestOptions("shop"))
  .to.have.property('url', "https://"+settings.shop+"/admin/shop.json")
  .to.have.property('method', "GET")
  .to.have.deep.property('headers.X-Shopify-Access-Token', settings.accessToken)
我似乎可以使用像这个chai-subset这样的东西来检查一个对象.有没有办法将这些链接在一起?我不想这样做.
var result = shopify.formatRequestOptions("shop")
expect(result).to.have.property('url', "https://"+settings.shop+"/admin/shop.json")
expect(result).to.have.property('method', "GET")
expect(result).to.have.deep.property('headers.X-Shopify-Access-Token', settings.accessToken)
可以构建您自己的函数,仅返回true/false并具有任何接口。
let example = {
  'name': 'thomas'
}
let hasAllProps = (obj, props) => {
  let propsTrue = _.chain(props)
  .map(prop => _.has(obj, prop))
  .without(false)
  .value()
  return (propsTrue.length === props.length)
}
console.log(hasAllProps(example, ['name'])) // true
console.log(hasAllProps(example, ['age'])) // false