javascript – 你如何冻结/假时间与茉莉花BDD

我的代码中有这样一行
new Date().getFullYear();

我需要它总是在同一年返回.

有没有办法用茉莉花做这个?

谢谢.

解决方法

在JavaScript中,您可以简单地覆盖测试设置中的功能:
Date.prototype.getFullYear = function(){return 2012}

您也可以使用jasmine spy

spyOn(Date,'getFullYear').andReturn(2012)

另一种方法是将日期插入到你想要测试的函数中.哪个是btw编写可测试代码的最佳方式.不要在你的函数中创建新的实例,因为你总是开始测试不仅你的代码,而且这个实例.

相关文章

kindeditor4.x代码高亮功能默认使用的是prettify插件,prett...
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代...
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小