3

LLBLGen をどのようにモックできますか? ILinqMetaData インターフェイスがあることがわかりましたが、モックアウトするための便利なメソッドが提供されていません。オブジェクトをデータに疎結合したままにするために、ILinqMetaData インターフェイスと生成されたエンティティ インターフェイスをプログラムする必要があると思います。簡単なテスト/モックの例はありますか?

4

1 に答える 1

1

私はそれがLLBLGenに限定されていないと思います、多分これは助けることができます:

データベース駆動型アプリケーションの単体テストに最適な戦略は何ですか?

個人的には、通常、データベースアクセスやリポジトリをテストするのではなく、エンティティを操作するロジック、またはスタック全体(DBを含む)を操作する統合テストをテストします。

更新:これは役に立ちますか?フェッチ/永続化ロジックを実行せずに、IOrderRepositoryをモックすることでロジックをテストできます。

public class MyBusinessLogic 
{
    IOrderRepository orders;

    public MyBusinessLogic(IOrderRepository orders) 
    {
      this.orders = orders; 
    }

    public DoSomethingTestable(OrderEntity order)
    {
      order.Total = 100;
      orders.Save(order);
    }
}
于 2012-06-18T21:19:01.030 に答える