は私がFooEntityをテストしようとしているこのモッキングコード最初のEntity Frameworkのエンティティ
public class FooEntity
{
private BarEntity Bar;
public void DoSomething()
{
var result = Bar.DoSomethingElse();
if (result)
DoThis();
else
DoThat();
}
private void DoThis() { }
private void DoThat() { }
}
のようなクラスを考えてみましょう。単体テストの観点から、私はBarEntityをテストしていないので、BarEntityを模擬してテスト結果を提供したい。
私が見たすべてのモックフレームワークは、モック用のインターフェイスを必要とするようです。最後にチェックされたEntity Frameworkのナビゲーションプロパティとしてのインターフェイスの使用はサポートされていません。私は、インターフェイス型のエンティティにマップされていないプロパティを追加して使用することができます。それはちょうどいくつかのテストを満たすためにそれを行うためにちょっと面倒なようです。
良い方法がありますか?
FooがEFエンティティの場合、私は単純にしておきます。メソッドはありません。 – mayu
バーの設定は? – mayu
@mayu:それは私が苦労するものです。私はフィールド、ゲッター、セッターからなるエンティティ(Java)を常に保ってきました。メソッドはありません。私がこのように見たコードのほとんどは、ドメインモデルが事実上ありません。エンティティのプロパティを操作するだけのサービスクラスがあります。私は別のドメインモデルから前後にマップすることなく、エンティティ自体にいくつかの動作を追加しようとしていました。 – int21h