【发布时间】:2022-01-09 02:00:46
【问题描述】:
我有一个奇怪的问题。我在 js 中有以下函数:
const removeDuplicates = (inputData) => {
return [
...new Map(inputData.map((data) => [JSON.stringify([data.x, data.y, data.v]), data])).values()
];
};
我在一个开玩笑的打字稿测试中像这样测试它:
it('removeDuplicates', () => {
const expectedObject = [
{ x: 'G', y: 'B', v: '12345' },
{ x: 'A', y: 'L', v: '12345' },
{ x: 'A', y: 'W', v: '123' },
{ x: 'A', y: 'W', v: '1234' }
];
const inputData = [
{ x: 'G', y: 'B', v: '12345' },
{ x: 'A', y: 'L', v: '12345' },
{ x: 'A', y: 'L', v: '12345' },
{ x: 'A', y: 'W', v: '123' },
{ x: 'A', y: 'W', v: '1234' },
{ x: 'A', y: 'W', v: '1234' }
];
expect(removeDuplicates(inputData)).toEqual(expectedObject);
});
当测试在 js 文件中时它通过,当我将测试文件转换为 ts 文件时,它失败并且函数什么也不返回!有什么想法吗?
【问题讨论】:
-
removeDuplicates(inputData)[0].x === '-G', 而expectedObject[0].x === 'G'
标签: javascript typescript jestjs ts-jest