4

Express.js アプリのテストを作成していますが、単体テストと統合テストのどちらを選択すればよいかわかりません。

現在私は実験しました:

単体テスト - スタブ/モック/スパイには Sinon を使用し、モジュールへの依存性注入には Injects を使用します。このアプローチでは、MongoDB とその他の外部メソッドをスタブ化する必要があります。

個々のルートを単体テストしてから、統合テストを使用して正しいルートが実際に呼び出されることを確認することを考えました。

統合テスト - Supertest と Superagent を使用すると、作成するコードが大幅に少なくなります (モック/スタブを作成する必要はありません) が、テスト環境 (データベースなど) が存在する必要があります。

私は Mocha を使用して両方のスタイルのテストを実行しています。

これら2つの異なるアプローチからどのように選択すればよいですか?

4

1 に答える 1

1

おそらく両方を行う必要があります。重要な作業を行う各非ヘルパー メソッドを単体テストします。いくつかの統合テストを通して全体を実行します。大量のモックとスタブを作成する必要がある場合は、おそらくリファクタリングの兆候です。

于 2013-01-22T21:23:30.253 に答える