使用expectjs进行摩卡测试,获得模型以匹配哈希?

时间:2012-07-18 22:37:13

标签: javascript testing mocha

目前我正在这样做:

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以外的东西我很好。

1 个答案:

答案 0 :(得分:0)

我不知道这是不是最好的方法,但我接受了@skizeey的建议,并自己做了测试扩展。换句话说,现在我打电话(在coffeescript中):

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]