jestの書き方やエラーなどや補足(自分用)


shallowとmount

mountは全て展開してくれる。

const wrapper = mount(<Sample {...props} />)
// デバッグを表示したいときは
console.log(wrapper.debug());
// などで表示する。

ボタンをクリックさせたいとき

await act(async () => {
   wrapper
     .find("クラスやidなど")
     .at(0)
     .simulate("click")
});

クラスのモック化

jest.mock("react-redux");

// 関数が呼ばれたかどうかのモック化
const testFunk = 関数名 as jest.MockedFunction<typeof 関数名>
// 利用するのは 1回呼ばれたかどうかの確認など
expect(testFunk).toHaveBeenCalledTimes(1)

画面の表示のテストを実施する

const test: 型 = {
  isTest: true,
}

// dispatchを行う "test/sample"
// dispatch({type: "xxxx", payload: state});

const wrap = mount(
  <Test />
);
console.log(wrap.debug());

// storeの値や画面表示の検証
// ボタン押下など検証
await act(async () => {
      wrap
        .find("#testButton")
        .at(0)
        .simulate("click")
});
// changeなどもsimulateに入れると動作する