間違った探索生活-Jest
Global object mocking
何があったの?
事のいきさつはこうだ.グローバルオブジェクトのPropertyなので、どこでも使えるオブジェクトを1つの素子で模倣しています.残りの部品にもエラーが相次いだ.動作をテストするたびに、エラーが発生するテストも異なります.
どうやって解決したの?
まず,すべての素子で模倣する必要はない.この構成部品を使用する親構成部品に同じmochingを追加するだけで、すべての警告が消えます.
Overrapping act calls
何があったの?
問題点
it('get next question when user click yes or no button', () => {
const { getByText } = render(<YesNoContainer />);
[yesButton, noButton].forEach(async (button) => {
dispatch.mockClear();
fireEvent.click(getByText(button));
await waitFor(() => { // <---- 여기서 발생한다.
expect(dispatch).toBeCalledWith(stopYesNoQuestion());
// expect(dispatch).toBeCalledWith(getNextYesNoQuestion());
// expect(dispatch).toBeCalledWith(idlePlaying());
});
});
});
どうして起こるの?
文字通り、waitForの過剰使用は許されないからです.
forEachを呼び出すと、waitForがネストされて呼び出されます.待つことがあるのではなく、もう一度呼ぶのを待っています!
Reference
この問題について(間違った探索生活-Jest), 我々は、より多くの情報をここで見つけました
https://velog.io/@gringrape200/리액트-오류-탐구생활-Jest
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
何があったの?
問題点
it('get next question when user click yes or no button', () => {
const { getByText } = render(<YesNoContainer />);
[yesButton, noButton].forEach(async (button) => {
dispatch.mockClear();
fireEvent.click(getByText(button));
await waitFor(() => { // <---- 여기서 발생한다.
expect(dispatch).toBeCalledWith(stopYesNoQuestion());
// expect(dispatch).toBeCalledWith(getNextYesNoQuestion());
// expect(dispatch).toBeCalledWith(idlePlaying());
});
});
});
どうして起こるの?
文字通り、waitForの過剰使用は許されないからです.
forEachを呼び出すと、waitForがネストされて呼び出されます.待つことがあるのではなく、もう一度呼ぶのを待っています!
Reference
この問題について(間違った探索生活-Jest), 我々は、より多くの情報をここで見つけました https://velog.io/@gringrape200/리액트-오류-탐구생활-Jestテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol