React-jest / enzymeを使用したコントローラーコンポーネントのテスト

クステミット

この特定の「コンポーネント」をテストする方法がわからないため、私は少し行き詰まっています。つまり、基本的に、トップレベルのコンポーネントであるコントローラーコンポーネントがあります。小道具を取り入れず、ルートコンポーネントによってレンダリングされます。コントローラコンポーネントにはいくつかの関数があり、そのうちのいくつかは子コンポーネントに渡され、イベントハンドラによってトリガーされます。

さらに、コントローラーコンポーネントは、グローバルウィンドウオブジェクトにアタッチされたAPIを使用します。APIはコールバック関数を取り込んでおり、メソッドが実行された後、APIで特定のメソッドを呼び出すと呼び出されます。今のところ、コントローラーのテスト方法がわかりません。すべての子コンポーネントをテストし、すべてが機能することを確認しましたが、コントローラーコンポーネント内のこれらの関数の一部は、実際に機能することをテストするために重要です。

const MyController = () => {
const [api, setApi] = useState(null)

useEffect(() => {
const globalApi = window.globalApi
setApi(globalApi)
init()
}, [])

function callBack(e) {
    console.log(e)
}

function init() {
        api.init(callBack)
}

function close() {
    api.close()
}

return (
    <MyComponent 
    close={close}
    />
)

}

ジョーロイド

APIをモックして、呼び出されたかどうかを確認します

グローバルからのAPI呼び出しをスパイできます(コードを正しく読んだ場合)。次に、それをモック実装できます。

const apiCall = jest.spyOn(global.globalApi, 'init').mockImplementation(jest.fn);
expect(apiCall).toHaveBeenCalled();

実行できるテストがいくつかあります。呼び出された回数を確認してください。呼び出された引数を確認してください。

注意

globalスパイでの使用globalウィンドウを指します。

追加のテスト

これらのテスト以外に、レンダリングが常に機能していることを確認するために、浅いレンダリングのスナップショットを作成することをお勧めします。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

EnzymeとJestを使用した単体テストでネストされたReactコンポーネントの値を確認する方法

分類Dev

予期しない動作のテストJest / Enzymeで遅延した後のReactコンポーネント

分類Dev

React Jest Enzymeの使用-Shallowを使用してコンストラクターオブジェクトをコンポーネントに渡す方法は?

分類Dev

JestとEnzymeを使用してReactコンポーネントでデバウンスされた関数をテストする

分類Dev

JestとEnzymeを使用したReactコンポーネントのテスト。エラー:マップのプロパティを読み取ることができませんが未定義です

分類Dev

JestとEnzymeを使用して単純なReactコンポーネントのテストケースを作成する方法

分類Dev

Jest Enzymeがrenderメソッドでnullを返すReactコンポーネントをテストする

分類Dev

JestとEnzymeを使用して、Reduxを使用している機能的なReactコンポーネントをテストします

分類Dev

Jestでreact-navigationを使用するテストコンポーネント

分類Dev

Jestを使用してReactコンポーネントのWillUnmountをテストする

分類Dev

Jest / Enzymeの浅いテストReactステートレスコンポーネント-wrapper.find()が機能しない

分類Dev

ランダムに生成されたID(uuid)を使用してReactコンポーネントをテストするJestスナップショット

分類Dev

NavigationEventsを使用するJestテストReact-nativeコンポーネントがエラーをスローします

分類Dev

ReactコンポーネントのJestテスト:予期しないトークン "<"

分類Dev

Jestを使用してフックでReact機能コンポーネントをテストする

分類Dev

コンテキストコンポーネントをテストするためのReact(ネイティブ)セットアップJest

分類Dev

Jest / Enzymeを使用してreact-map-gl / deck.glコンポーネントをテストすると、「TypeError:プロパティを読み取れません」「nullの状態」が発生します。

分類Dev

JestとEnzymeを使用したReactルーターのテスト

分類Dev

Jest + EnzymeでReactコンポーネントのスタイルをテストするにはどうすればよいですか?

分類Dev

React / Jest-接続されたHOCコンポーネントをJestユニットテストでレンダリングします

分類Dev

Jestを使用したReactでのインラインコールバック関数のテスト

分類Dev

Jestを使用したログインコンポーネントのテスト

分類Dev

React Native + Jest + Enzyme:Enzymeが一部のコンポーネントを認識しないのはなぜですか?

分類Dev

JestでReactコンポーネントをモックする

分類Dev

反応テストライブラリを使用したJestのReactコンテキストプロバイダーのモック

分類Dev

JestやEnzymeを使用してReactコンポーネントにネストされた要素の属性を取得するにはどうすればよいですか?

分類Dev

Jestテストに失敗した非同期関数を持つステートフルReactコンポーネント

分類Dev

ReactコンポーネントがJestやEnzymeで完全に更新を完了するまで待つ方法は?

分類Dev

Jestを使用してプロップでReactコンポーネントをモックする

Related 関連記事

  1. 1

    EnzymeとJestを使用した単体テストでネストされたReactコンポーネントの値を確認する方法

  2. 2

    予期しない動作のテストJest / Enzymeで遅延した後のReactコンポーネント

  3. 3

    React Jest Enzymeの使用-Shallowを使用してコンストラクターオブジェクトをコンポーネントに渡す方法は?

  4. 4

    JestとEnzymeを使用してReactコンポーネントでデバウンスされた関数をテストする

  5. 5

    JestとEnzymeを使用したReactコンポーネントのテスト。エラー:マップのプロパティを読み取ることができませんが未定義です

  6. 6

    JestとEnzymeを使用して単純なReactコンポーネントのテストケースを作成する方法

  7. 7

    Jest Enzymeがrenderメソッドでnullを返すReactコンポーネントをテストする

  8. 8

    JestとEnzymeを使用して、Reduxを使用している機能的なReactコンポーネントをテストします

  9. 9

    Jestでreact-navigationを使用するテストコンポーネント

  10. 10

    Jestを使用してReactコンポーネントのWillUnmountをテストする

  11. 11

    Jest / Enzymeの浅いテストReactステートレスコンポーネント-wrapper.find()が機能しない

  12. 12

    ランダムに生成されたID(uuid)を使用してReactコンポーネントをテストするJestスナップショット

  13. 13

    NavigationEventsを使用するJestテストReact-nativeコンポーネントがエラーをスローします

  14. 14

    ReactコンポーネントのJestテスト:予期しないトークン "<"

  15. 15

    Jestを使用してフックでReact機能コンポーネントをテストする

  16. 16

    コンテキストコンポーネントをテストするためのReact(ネイティブ)セットアップJest

  17. 17

    Jest / Enzymeを使用してreact-map-gl / deck.glコンポーネントをテストすると、「TypeError:プロパティを読み取れません」「nullの状態」が発生します。

  18. 18

    JestとEnzymeを使用したReactルーターのテスト

  19. 19

    Jest + EnzymeでReactコンポーネントのスタイルをテストするにはどうすればよいですか?

  20. 20

    React / Jest-接続されたHOCコンポーネントをJestユニットテストでレンダリングします

  21. 21

    Jestを使用したReactでのインラインコールバック関数のテスト

  22. 22

    Jestを使用したログインコンポーネントのテスト

  23. 23

    React Native + Jest + Enzyme:Enzymeが一部のコンポーネントを認識しないのはなぜですか?

  24. 24

    JestでReactコンポーネントをモックする

  25. 25

    反応テストライブラリを使用したJestのReactコンテキストプロバイダーのモック

  26. 26

    JestやEnzymeを使用してReactコンポーネントにネストされた要素の属性を取得するにはどうすればよいですか?

  27. 27

    Jestテストに失敗した非同期関数を持つステートフルReactコンポーネント

  28. 28

    ReactコンポーネントがJestやEnzymeで完全に更新を完了するまで待つ方法は?

  29. 29

    Jestを使用してプロップでReactコンポーネントをモックする

ホットタグ

アーカイブ