Reactネイティブアプリのテスト(パート1)

投稿日:

(2020年12月21日)

はじめに

ほとんどの開発者は、テストを退屈で書くのが面倒だと感じていますが、あなたは何を知っていますか?意味のある保守可能なテストの書き方を知るには、優れたスキルと経験が必要です。コードのテスト方法を学ぶことで得られる知識は、開発におけるコードの記述方法も変えます。この記事は、テストの旅を始めるのに役立つはずです。

より良いテストのためのガイドライン

これらは、他の開発者がコードをテストする方法を調査した後に私が学んだガイドラインの一部です。これらのガイドラインに従うことで、コードベース全体でテストを記述および保守することが容易になりました。

1。コードの実装をテストしないでください

これが重要である理由を理解するために、シナリオを見てみましょう。 n を入力として受け取り、最初の n 番号。

addaddと呼ばれていると主張して、getSumOfFirstNn=2をテストしていると仮定しましょう。 div id = “159012c6dc”>

と引数(0, 2)および(2, 1) 、およびは3です。

後で、最初の n 番号を付けて、上記のコードを書き直します。

add

を呼び出さなくなったため、テストが中断し始めます。これは簡単な例でした。 y直感に反しているように見えるかもしれませんが、多くの開発者がまさにこの種のテストを行っており、間違いがそれほど簡単にはわかりません。

2。テストを別の技術的負債にしないでください

テストは重要ですが、関連する利害関係者に時間どおりにコードを提供する必要もあります。新しい機能を作成したり、既存の機能を変更したりすると、古いテストケースが破損したり、必要な機能を構築するのではなく、割り当てられた時間のかなりの時間を古いテストケースの修正に費やしたりすると、最終的には削除されます。古いテストはすべて、プロジェクトが本番環境で失敗するリスクがあります。

これらのガイドラインに従うと、テストを簡単に修正できるか、コードベースが変更されてもまったく壊れないようにするのに役立ちます。

3。 UIをテストするときは、実際のユーザーの動作をシミュレートする方法でテストを記述します。

テストしているとします。このボタンがレンダリングされて期待どおりに機能するかどうかを最初に考えて、ユーザーがこのボタンをどのように見つけて操作するかを考えます。彼らが「送信」テキストを見て、それを押すことを望んでいます。そうすれば、まさにそれが私たちがシミュレートするものです。このテストケースでは、最初に「Submit」というテキストを検索し、次に「onPress」イベントをシミュレートしてから、想定されていることをすべてアサートします。

場合によっては、そうではないこともあります。ターゲットにするコンポーネントを一意に識別しやすく、その場合はtestID propを使用できますが、testIDは、ユーザーがtestIDに基づいてコンポーネントをターゲットにしないためです。

これが重要なのはなぜですか? UIをテストするときに、ユーザーの動作を可能な限りシミュレートする必要があるのはなぜですか?これは、最終的には、コンピューターではなくUIを操作するのは人間であり、ボタンに「送信」ではなく「こんにちは」が表示されている場合、テストケースは失敗するはずだからです。これは、エンドユーザーを失望させる可能性のあるものです。

4。純粋関数は、純粋関数よりもテストが簡単です

純粋関数は、対応する入力に対して常に同じ出力を提供する関数です。つまり、純粋関数が2 1の場合は常にそれを行いますが、不純な関数は最初の呼び出しで2を送り出し、次に2を送り出します。 2回目の呼び出しでdivid = “6c36b2fd42″>