将jasmie .toHaveBeenCalledWith()函数与Moment对象一起使用

乔治·爱德华兹

我在角(4)中进行以下测试-

 it('should call service',
    async(inject([CommentTableComponent], (cmp: CommentTableComponent) => {
      spyOn(mockSock, 'getComments').and.callThrough();
      cmp.ngOnInit();
      expect(mockSock.getComments).toHaveBeenCalledWith('api/jobs/604', moment());
    })));

引发错误:

预期的间谍getComments已使用['api / jobs / 604',星期六2017年4月29日格林尼治标准时间+0100调用,但实际调用是['api / jobs / 604',星期六2017年4月29日00:00 :00 GMT + 0100,2017年4月29日星期六12:31:07 GMT + 0100]。

由于这些字符串明显相同,因此我认为这是因为now的测试值比组件运行时的值晚几毫秒,并且毫秒不会解析到字符串中。

所以我的问题是,如何使我的测试工作,有没有一种方法可以检查在当前时间的x毫秒内调用with的参数?

安德烈

试试这个:

var spy = spyOn(mockSock, 'getComments').and.callThrough();
var today = moment('2017-4-29').toDate();
jasmine.clock().mockDate(today);
expect(spy.calls.mostRecent().args[0]).toEqual('api/jobs/604');
expect(spy.calls.mostRecent().args[1].valueOf()).toEqual(today.valueOf());

参考:https : //jasmine.github.io/2.5/introduction.html#section-Jasmine_Clock

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将扩展语法与函数Arguments对象一起使用

将makeObjectsPerformSelector与对象一起使用

将 Find() 函数与对象数组一起使用,然后使用结果道具 (JSX)

如何将std :: sort与没有复制构造函数的对象一起使用?

将 rollapply 与 xts 对象和匿名定义函数一起使用

如何将Structuremap 3与对构造函数注入不友好的对象一起使用?

如何通过API将地图函数与JSON对象提取一起使用

如何将cudaMallocManaged与带有构造函数的对象一起使用

将联合类型与不接受参数作为对象的函数一起使用

将属性方法与setter一起使用可防止函数绑定到对象属性

将函数指针和对象放在一起

将 Like 函数与 CDate 函数一起使用

尝试将页面对象与量角器一起使用时出现“对象不是函数”错误

将setTimeout与使用.animate的函数一起使用

有没有一种方法可以将椭圆对象与intersects()函数一起使用?

将 v-if 与深层属性对象一起使用

如何将关联对象与枚举一起使用?

将IQueryable对象与xUnit理论一起使用

如何将ngRepeat与对象一起使用?

Nativescript将LIstPicker与JS对象一起使用

如何将“ with”与对象列表一起使用

将Automapper与抽象对象的集合一起使用

Mockito:将 InOrder 与间谍对象一起使用

将addEventListener与对象文字一起使用

何时将const与JavaScript中的对象一起使用?

将ClickHandler与原生Javascript对象一起使用?

将diff与漂亮的汤对象一起使用

创建对象时,将变量与“ new”一起使用

将MongoDB与字典对象流一起使用