我正在做这样的问题here,它允许我在我的测试中提供我自己的Date
构造函数的实现
spyOn(window, 'Date').andCallFake(function() {
return SOME_DATE;
});
我现在遇到了一个问题,我想升级moment.js,他们在我用我的模拟Date对象调用的代码中使用了额外的Date函数。这些功能不存在:
Date.UTC() // doesn't exist in mocked date when accessed in moment.js
所以我认为我需要做的是以某种方式仅模拟Date
的构造函数,并让其他函数通过。
我尝试过各种形式的.andCallThrough
以及为间谍对象分配所需的功能无济于事(例如spy.UTC = OldDate.UTC
)。有什么想法吗?