2012-02-10 8 views
8

誰かがCSLAで単体テストの例を持っていますか?私はこのフレームワークでTDDを実装するのが難しいと思っており、これを行う簡単な方法があるかどうか疑問に思っていました。テストオブジェクトを自由に作成できるTypeMockアイソレータの他に、私が使用できる他のモックフレームワークはありますか?提案やサンプル/例があれば、私は喜んでいますか?ありがとうございました。CSLAのユニットテストですか?どうやって?何?

答えて

8

新しい情報を伝えているかどうかは分かりませんが、CSLA 4ではカスタムのBusinessRulesを単体テストする方が簡単です。データレイヤーとしてリポジトリを使用している場合は、リポジトリを模擬してそれらを使用してフロントエンドと一緒にビジネスオブジェクトを作成します。ビジネス・オブジェクトは、ビジネス・ロジックを実装するためにビジネス・ルールを使用すべきプロパティを持つオブジェクトの束ではありません。これらのビジネスルールは、問題なく単体テストできるクラスです。

インフラストラクチャの仕方によって異なります。あなたはIoCパターンを使用していますか?

使用しているCSLAのバージョンはどれですか?

CSLA ObjectFactoryを使用していますか?

CSLAを使用する場合、静的なファクトリメソッドがあり、非公開のコンストラクタがあります。 BusinessObjects内でこれらのプロパティを単体テストしたい場合は、いくつかのオプションから選択できます。

  1. あなたはdatalayer(リポジトリ)のためのIoCを使用する場合は、あなたがそれらを嘲笑し、モックとスタブとし、ファクトリメソッドを呼び出して、あなたのテストを行うのtestMethodでのIoCを構成することによって、ビジネス・オブジェクトをテストすることができます。

  2. IoCを使用しない場合は、CSLA ObjectFactoryソリューションを使用した場合には幸運かもしれません。そこにはモックとスタブを使用できます。

  3. IoCを使用せず、ObjectFactoryのために行っていない場合は、簡単にそのビジネスオブジェクトを単体テストできません。しかし、それはカスタムDataPortalを登録することによっても可能です。 DataPortalでは、リフレクションを使用してビジネスオブジェクトを構築し、その特定のビジネスオブジェクトのモック/スタブを解決できます。それは簡単ではありませんが、実行可能です。

申し訳ありませんが、私には例がありません。

関連する問題