4

私は MSTest (または少なくとも VS 2008 テスト ツール、違いはありますか?) を使い始めたばかりです。

セッション オブジェクトを使用するコードをテストしたいと考えています。明らかに、私は HttpContext を持っておらず、単純に作成することもできないため、コードは NullReferenceException で失敗します。

このコードは単にテスト不可能ですか?

4

4 に答える 4

1

テスト不能についてはわかりませんが、テストするのは確かに難しいです。typemock を使用すると、事実上すべてのモックとスタブを作成できます。しかし、それは無料ではありません。

セッションへの呼び出しを別のオブジェクト内にラップし、それをインターフェイスの背後に隠すこともできます。次に、そのインターフェイスをコードに挿入できます。テストのために、モック実装を注入できます。これにより、コードのテストが容易になり、Asp.Net のセッション実装に縛られなくなります。

于 2009-03-10T15:20:10.507 に答える
0

テストするロジックで、セッション オブジェクトがどのレベルで関与しているか。たとえば、それが asp.net が使用している単なる値である場合、プレゼンテーション パターンの 1 つを実装して、これを抽象化することができます (そして、テストを簡単に記述できます)。

たとえば、以下のロジックは、セッション情報をビューの実装にプッシュすることで簡単にテストできます。

If UserObject.IsActive() Then
  _View.SessionActive = True
Else
  _View.SessionActive = False
End If
于 2009-03-10T15:39:43.597 に答える
0

VS 2010 では、Microsoft Molesはモックのオプションです。

VS 2012 では、Microsoft Fakesはモックのオプションです。

于 2014-06-20T20:06:13.287 に答える