我正在尝试使用 Jest 为 Angular 应用程序中的服务编写单元测试,并且我有一个关于如何模拟数据的问题。作为我的模拟数据的一部分,我需要模拟Array<App>
具有这样的接口
interface App {
Color: string;
Id: string;
Size: TileSize;
Text: string;
Title: string;
Url: string;
}
so I tried to mock the data like this in my test file:
const Apps: Array<App> = [
{
'Id': 'Chat',
'Text': 'Chat',
'Title': 'Go to your chat',
'Url': 'https://chat.com'
},
{
'Id': 'Mail',
'Text': 'Mail',
'Title': 'Go to your Mail',
'Url': 'https://mail.com'
}
];
MockConfigParserService.mockImplementation(() => {
return {
parse: () => {
return {
workloads
};
}
};
});
通过抛出此错误,我的测试无法运行我正在测试的服务
Unhandled Promise rejection: workloads.slice is not a function ; Zone: ProxyZone ; Task: Promise.then ; Value: TypeError: workloads.slice is not a function
在服务代码中的这行代码(该服务在测试之外工作正常):return this.appsPromise.then(apps => [...apps]);
我应该如何更改应用程序数组的模拟数据,以免引发此错误?非常感谢