這讓我發瘋了。在我嘗試用 act 包裝所有內容之后,我真的完全不明白這個問題(這已經感覺很糟糕,但我不得不嘗試一下)。測驗通過了,但控制臺上充斥著關于“行為”的錯誤。
這是原始測驗代碼。
const setup = () =>
render(
<Provider store={store}>
<LoginForm />
</Provider>
);
jest.mock('@hooks/auth', () => ({
useLogin: jest.fn()
}));
describe('Login form', () => {
it('matches snapshot', () => {
const asFragment = setup();
expect(asFragment()).toMatchSnapshot();
});
});
即使像這樣簡單的測驗也會產生控制臺錯誤“行為”。
我敢打賭解決方案很簡單,但我很想知道a)它是什么以及b)為什么它會這樣作業
我認為act僅用于觸發事件/提交等,因為我之前設法使用它解決了一些控制臺錯誤,但這在上面的示例中不起作用。
非常感謝任何可以在這里幫助我的人。這可能很簡單,但我把測驗留到很晚,這是一個教訓。
uj5u.com熱心網友回復:
使其(...)異步并在 fireEvent 和 userEvent 上使用 waitFor。基本上任何觸發狀態更新的東西
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/419467.html
標籤:
