typescript - 如何使用 Karma Jasmine "toHaveBeenCalledWith" 一个数组?
问题描述
我有一个像这样的单元测试:
it('should be successful', fakeAsync(() =>
component.doSomething();
let myObj = {
abc: 'test1',
dfg: 'test2'
}
let myArray: Array<AnObject> = [myObj];
expect(storage.set).toHaveBeenCalledWith('storedThing', myArray);
));
这是被调用的 doSomething 方法:
myArray: Array<AnObject>;
doSomething(): void {
let myObj = {
abc: 'test1',
dfg: 'test2'
}
myArray.push(myObj);
this.storage.set('storedThing', myArray);
}
但是当我运行时,我收到以下错误:
预期的间谍集已使用 ['storedThing', [Object]] 调用,但实际调用为 ['storedThing', Array]。
我究竟做错了什么?
解决方案
推荐阅读
- angular - 未处理的 Promise 拒绝:超时;区:
在角度 6 - android - 获取可绘制图像的路径,以便我可以将其发布到后端
- go - close(channel) 用于实现观察者模式
- reactjs - Babel 7 不会将 CONST 更改为 VAR
- excel - Excel::Writer::XLSX 内容不可读错误
- html - 如何使用 CSS 制作选取框样式
- java - 在 Splunk enterorice 上完成后台搜索作业时触发 web-hook
- android - postDelayed() 在带有 START_STICKY 和 startForeground 的 Android 服务中不起作用
- node.js - mongoose.js 中的多对多关系
- java - 如何在firebase数据库中分别登录和注册2个用户?通过使用微调器来选择用户类型