静的クラスとインスタンス クラスをテストする際の問題を説明する例を探しています。誰かがそれを提供できますか?
質問する
464 次
1 に答える
0
他の型を利用するクラスは、それらの他の型に依存していると言われます。クラス内のメソッドを単体テストするときは、通常、依存関係が何をしているかではなく、メソッドが何をしているかをテストしようとします。これらのシナリオをサポートするようにオブジェクトを設定する一般的な方法は、依存性注入を使用することです。依存性注入は、テスト容易性を向上させる一般的なパターンです。静的クラスはそのパターンではうまく機能せず、静的クラスを使用するクラスの単体テストが難しくなります。
たとえば、テストしたいクラス「A」があり、データベースにアクセスするなど、テストしたくないことを行う静的クラス「B」を使用している場合、クラス A はテストが難しくなります。 .
class A
{
// this is hard to test because of the static call through B
public void MethodToTest()
{
// ...
B.HitTheDatabase();
// ...
}
}
これを回避するには、B のラッパーを作成して A に注入するか、Molesフレームワークを使用するなどの方法があります。
于 2012-06-27T18:42:40.650 に答える