如果我的预期结果是以下格式的日期对象,我该如何测试呢?
2015年1月22日星期四00:00:00 GMT + 0000(GMT日光时间)
我试过
expect(theDate).toEqual( Date(Thu Jan 22 2015 00:00:00 GMT+0000 (GMT Daylight Time) ) );
但是我在运行测试时遇到以下错误:
参数列表之后的Uncaught SyntaxError:missing)
没有其他未公开的括号可以解决问题。例如,如果我将测试更改为:
expect(theDate).toEqual( 'Thu Jan 22 2015 00:00:00 GMT+0000 (GMT Daylight Time)' );
它正确地失败了:
预计日期(2015年1月22日00:00:00 GMT + 0000(格林威治标准时间))等于'2015年1月22日00:00:00 GMT + 0000(GMT日光时间)'。
答案 0 :(得分:1)
JavaScript Date Object需要在构造函数中接收一个字符串,并且在Date之前需要new
。
expect(theDate).toEqual( new Date("Thu Jan 22 2015 00:00:00 GMT+0000 (GMT Daylight Time)") );
如果您不确定,可以随时提取比较值并输出以进行调试。
var expectedDate = new Date("Thu Jan 22 2015 00:00:00 GMT+0000 (GMT Daylight Time)");
console.log('why am I doing it wrong?', theDate, expectedDate);
// expect(theDate).toEqual(expectedDate);