当前,我已经使用React钩子创建了一个名为NewStoreTable的功能组件,以通过API调用返回新商店的表。这将使用useEffect挂钩,该挂钩将获取所需的商店,然后获取setStores。
const [stores, setStores] = useState<INewStore[]>([])
useEffect(() => {
getNewStores()
.then((result) => result.length !== 0 && setStores(result))
})
我创建了一个玩笑/酶单元测试来测试来自模拟API的响应。然后,我使用了setImmediate方法来更新newStoreTable。
const newStoreTable = mount(<NewStoreTable />)
setImmediate(() => {
newStoreTable.update()
try {
const result = newStoreTable.find('TableRow')
const rows = result.map((row) => row)
expect(rows.length).toEqual(2)
} catch (e) {
return fail(e)
}
done()
})
预期这将基于根据正确调用的模拟API接收到的结果,使用钩住的useEffect来设置setStores,然后应提供单元测试的预期结果。
但是,这并未将存储设置为模拟API值,并且结果返回0。 因此,我希望能够从模拟API接收值并正确设置此setStores以从模拟API返回值。