Express.js アプリのテストを作成していますが、単体テストと統合テストのどちらを選択すればよいかわかりません。
現在私は実験しました:
単体テスト - スタブ/モック/スパイには Sinon を使用し、モジュールへの依存性注入には Injects を使用します。このアプローチでは、MongoDB とその他の外部メソッドをスタブ化する必要があります。
個々のルートを単体テストしてから、統合テストを使用して正しいルートが実際に呼び出されることを確認することを考えました。
統合テスト - Supertest と Superagent を使用すると、作成するコードが大幅に少なくなります (モック/スタブを作成する必要はありません) が、テスト環境 (データベースなど) が存在する必要があります。
私は Mocha を使用して両方のスタイルのテストを実行しています。
これら2つの異なるアプローチからどのように選択すればよいですか?