首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用sinon监视日期构造器

用sinon监视日期构造器
EN

Stack Overflow用户
提问于 2015-09-01 18:19:54
回答 1查看 1.6K关注 0票数 3

我有一个设置令牌过期日期的方法:

代码语言:javascript
复制
var jwt = require('jwt-simple');
module.exports = {  
    setExpirationDate: function(numDays) {
        var dateObj = new Date();
        console.log(dateObj);
    }
}

我想在“新日期”声明上写一个断言:

代码语言:javascript
复制
var jwtHelper = require('../../../helpers/jwtToken');
describe('setExpirationDate method', function() {
    it('should create date object', function() {
        var Date = sinon.spy(Date);
        jwtHelper.setExpirationDate(global.TOKEN_EXPIRE_DAYS);
        expect(Date).to.be.called;
    });
});

测试失败的有:

AssertionError:期望间谍至少被呼叫一次,但从未被称为

关于构造器间谍有什么值得关注的地方吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-01 19:02:15

考虑到您的构造函数绑定到“全局”,这意味着如果您在浏览器上打开开发人员控制台,您应该能够使用相关的函数/构造函数(如:

代码语言:javascript
复制
var Date = new Date();

如果是这样的话,实际工作代码可以是:

代码语言:javascript
复制
var Date = sinon.spy(global, 'Date');

expect(Date.called).to.be.equal(true);
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32338427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档