在测试递增 todo id的文档中,这假定了可预测的响应。
在下面的示例中,生成了一个唯一的 id。
这怎么可能被测试?
这个测试通过了,但我不确定它是否正确,不应该根据准备回调中的内容来定义 id 吗?
切片.js
add: {
reducer: (state, {payload}: PayloadAction<{id: string, item: Item}>) => {
state[payload.id] = payload.item
},
prepare: (item: Item) => ({
payload: {id: cuid(), item}
})
}
slice.test.js
it('should handle add', () => {
expect(
reducer(
{},
{
type: actions.add,
payload: {
id: 'id-here?',
item: {
other: 'properties...'
}
},
}
)
).toEqual({
'id-here?': {
other: 'properties...'
},
})
})