2012-02-04 36 views
3

我有这个(猫鼬)类(这句法是CoffeeScript的):单元测试号码失败

Entry = new mongoose.Schema 
    duration: Number 

我明确地设置时间属性一个整数(或十进制中,结果是一样的):

entry = new Entry 
entry.duration = 1 

我保存此猫鼬实体:

entry.save 

但测试结果时,荷兰国际集团由findOne返回实体,我不能得到持续时间属性来传递我的单元测试:

doc.duration.should.eql 1 

这总是返回:

AssertionError: expected 1 to equal 1 

正如之前所说,我得到这样的结果为1的值或1.5 findOne返回的doc恰好就是我之前保存的实体。

我在做什么错?

回答

4

单元测试的正确方法Number类型上的猫鼬模式类中的属性是:

doc.duration.valueOf().should.eql 1 

所以呼吁属性的valueOf()方法返回的属性的值。简单地返回该属性将返回一个Object。