2014-10-28 226 views
1

我已經寫在茉莉花測試運行測試:茉莉花日期指望總是返回false

it("Expect 'due date' to be 14 days from today", function() { 
    var dateNow = new Date(); 
    scope.dateOfService(dateNow); 
    expect(scope.DueDate == new Date(dateNow.setDate(dateNow.getDate() + 14))).toBeTruthy(); 
}); 

然而,這總是返回false?有什麼我做錯了嗎?

爲了 '調試' 這個我還跑:

expect(scope.DueDate).toBe(new Date(dateNow.setDate(dateNow.getDate() + 14))); 

這將返回:

Expected Date(Tue Nov 11 2014 08:20:23 GMT+0000 (GMT Standard Time)) to be Date(Tue Nov 11 2014 08:20:23 GMT+0000 (GMT Standard Time)) 

回答

1
var dateNow = new Date(); 
scope.dateOfService(dateNow); 
var dateReturned = new Date(scope.DueDate); 
var dateAdd = new Date(dateNow.setDate(dateNow.getDate() + 14)); 
expect(dateReturned).toEqual(dateAdd); 

主要的一點是要確保它是.toEqual而非.toBe