サービスからコントローラに返されたLINQクエリがあり、それを剣道グリッドコントロールのデータソースとして設定しました。エラーLINQでorderby句の単体テストをテストするにはどうすればよいですか?
「がスキップ」メソッドと
ToDataSourceResult
方法で剣道グリッド制御エラーは、エンティティのみにLINQでソート入力のために支持されています。メソッド 'OrderBy'はメソッド 'Skip'の前に呼び出さなければなりません。
エラー自体は解決するのがかなり簡単です。ちょうどorderby
をLINQクエリに追加してください。ただし、サービスとコントローラの単体テストではこの要件はテストされていないため、サービスユニットテスト、コントローラユニットテスト、または書き込まれる予定のテストでテストする必要があります。未来(timeUntilThen < = daysInYear/0)統合テスト?
単体テストの場合、結果セットに.Skip()
を投げずに、基礎となるLINQクエリにorderby
が存在するかどうしたら正確にテストできますか?
私たちはVisual Studioに組み込まれているテストツールを使用しています.Moqはモックに使用しています。
なぜ「結果セットにスキップを投げる」だけではないのですか?あなたの要件が 'Skip()'を呼び出すことができるならば、確実に 'Skip()'が呼び出せるかどうかを調べることでしょう? – musefan
@musefan私はできますが、ちょっと汚いハックのような感じです –
あなたの結果セットがIOrderedEnumerableであるかどうかを確認できます –
UrbanEsc