私は、メソッドチェインを使用して、少し流暢なインターフェイスを作成しました。通常は、Webサービス/データベースからデータを取得するリポジトリがいくつか呼び出されます。Fluentインターフェイスを使用する単体テストコードはどのようにして単体テストしますか?
流暢なインターフェイスを使用する単体テスト方法についてはどうすればよいですか?
Public IEnumberable<Computer> FindComputers(string serialNumber)
{
return Computers.FindBySerialNumber("YBCX00900")
.AttachConfiguration()
.EnsureAllComputersHaveConfiguration();
}
私はユニット流れるようなインターフェイスの個々のコンポーネントをテストすることができますが、私はユニットテストに私が何をすべきかを上記FindComputers方法をしたい場合は?
- 流れるようなインターフェイスの具体的な実装を使用して、リポジトリクラス
- モック上 期待を書く流暢インタフェース自体を、その
- テストのみ流れるようなインターフェイス自体ではなく、FindComputersに期待を設定します()メソッド
私は簡単に保守可能なアプローチを見つけたいと思います。
ありがとうございます、あなたは正しい例ですが、私はFIを1つのクエリに分割し、1つはクエリに返されたデータに対して操作を実行します。 私は、FIを単体テストでテストするのが最も簡単であることを発見しました。次に、FIを具体的な実装で使用する単体テストメソッドを見つけました。目的の結果が返されたことをテストするだけです。 FIをモックしようとすると、テストが脆弱になります。 – Andronicus