あなたのソフトウェアに自信を持てるようにするためのテスト。それはすべてのテストであり、あなたが書いたことがあなたが思っていることを確実にするようにします(特にあなたが物事を変えるとき)。
これはいくつかの性格です。あなたは0テストを書いて、99%自信を持っていることができます。もちろん、あなたはいつか驚くでしょう。あなたは多くのテストを書くことができ、10%の自信を持っていることができます。
個人的には、主な機能とフローのテストを書くことをおすすめします。ログイン、データベースへのデータの送信、アルゴリズムの実行、どこかからのイベントの受信などがあります。これは今の成功のケースですが、テストを実行すると、ソフトウェアの主要部分が機能することがわかります。
これらが一緒に機能することを確認してください。複数のコンポーネントと対話するテストがいくつかあります。私はそれが「真のユニットテスト」ではないことを知っています。統合テストと単体テストの間の選択には至りませんが、すべてを真空でテストすると、すべての作品が一緒に働くという根拠がありません。
自動テストスイートを実行するポイントは、テストに合格するとソフトウェアが動作することがわかります(少なくともテストが書かれているので、コーナーケースが来ると常にテストを追加できます)アップ)。
私の意見で:あなたのシステムを "外部"からテストすることをお勧めします。あなたはRESTサーバーを書いていますか?正しいデータが入っていることを確認するために、HTTPリクエストとしてテストを書くと、正しいデータが戻ってきます。時には永続性やクエリがコード化するように正しく動作しないことがあるので、私はすべてを嘲笑するよりも、実際のデータベースを使用したいと思います。ソフトウェアの外部 "ユーザー"が期待するデータを取得し、ソフトウェアが意図したとおりに機能することを確信するでしょう。