8

ユニットテストを行っています。asp.netでglobal.asaxを単体テストする方法がわかりません。asp.netのglobal.asaxは単体テストの対象になりますか?また、システム変数を含むアプリケーションインストーラークラスもあります。それらをテストする必要がありますか?

4

2 に答える 2

7

あなたはできる。しかし、あなたはすべきではありません。単体テストは、その名の通り、単体をテストします。global.asax またはシステム構成のコードはユニットではありません。これらのテストはコードと非常に緊密に結合され、無関係なものを変更すると常に偽の失敗が発生するため、価値がありません。アプリケーションのテストには、統合テスト、自動化など、関連する他のレベルがあります。すべてを「単体テスト」に入れるのではなく、明確に定義された単一の部分だけに入れる必要があります。たとえば、web.config または DI コンテナー構成も単体テストしませんが、別のレベルでテストします。

于 2013-01-09T07:14:06.317 に答える
6

これに対する私のスタンスは、global.asax でコードを単体テストする必要はないということです。

主な理由は、宣言と配線コード以外のものがそこにあるべきではないということです。Peter Porfy が既に述べたように、そのコードは統合テストでテストする必要があります。

global.asax で単体テストに値するロジックを見つけた場合は、おそらくそれを除外して、それらのクラスを個別にテストする必要があります。

于 2013-01-09T07:25:49.563 に答える