繁体   English   中英

通过日期测试角度单元测试

[英]Pass date testing angular unit tests

我有一个三元似乎正在返回通过测试,但它失败了。

$scope.depart = (typeof serverShortDate !== 'undefined') ? new Date(serverShortDate) : new Date();



AssertionError: expected Wed, 30 Mar 2016 21:26:12 GMT to deeply equal Wed, 30 Mar 2016 21:26:12 GMT

这是我的简单规格

    expect(scope.depart).to.deep.equal(new Date());

我所能想象的只是某处有所不同。 错误消息显示相同的值。

您在对象上的===问题会检查两个对象是否是同一个对象。 ===与字符串或数字相比,对象的工作方式略有不同。

您的测试似乎将一个新的 Date 对象与scope.depart进行比较,根据定义,这些对象不是同一个对象,永远不可能“完全”相等。

您可以将测试更改为:

expect(scope.depart.valueOf()).to.deep.equal((new Date()).valueOf());

检查两个日期是否代表相同的日期/时间。

您需要对要测试的响应进行字符串化。

expect(scope.depart.toString()).to.deep.equal(new Date().toString());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM