0

目前我正在这样做:

expect( tasks.at(0).get('title') ).to.be('Root')
expect( tasks.at(0).get('next') ).to.be(true)

但似乎应该有更好的方法。我宁愿做这样的事情:

expect(tasks.at(0).attributes).to.eql({title:'Root', next:true})

但这不起作用,因为tasks.at(1).attributes有许多其他属性,所以它不严格匹配。有任何想法吗?我可以使用除 expectjs 以外的东西。

4

1 回答 1

0

我不知道这是否是最好的方法,但我听取了@skizeey 的建议并制作了自己的测试扩展。换句话说,现在我调用(在咖啡脚本中):

expect(tasks).to.have.modelAttributes
  1: title:'Root'
  2: title:'Child'

我使用的代码非常特定于我正在使用的测试库(切换到 Chai),但总体思路是我遍历哈希,提取索引,然后查看每个键:值。这是我的代码的通用示例:

    # Check each index
    for index of properties
        # Iterate over each key:value in each index
        for key of properties[index]
于 2012-07-20T20:20:47.007 回答