ユニットテストについて質問があります。私は、開始時刻と終了時刻の2つの日付時刻パラメータを取るメソッドを持っています。このメソッドはデータベースを呼び出し、2つの日付時刻の間に一連のレコードを返します。私はこの論理を単体テストするように言われていますが、私はどのようにしてよいのか分かりません。私の最初の試みは、直接データベースを呼び出し、問題のテーブルをqryすることでした。次にメソッドを呼び出します。最後に、2つの結果を比較して、同じかどうかを確認します。
すべてのロジックがデータベースにあるため、このメソッドをテストするのは意味がありません。私はいくつかの基本的なオブジェクトをmoqすることができますが、偽のデータが返された場合、私がテストするのはすべてです。すなわち、xを渡し、yを返す.nullでない結果が合格する。私は間違ったトラックにいるかもしれないので、私はいくつかのアドバイスを使用してください。あなたはユニットテストしたいデータベース内のロジックを持っている場合はユニットストアドプロシージャを呼び出して結果を返すメソッドをテストする
答えて
は、その後、残念ながら、あなただけの本当に3つのオプションがあります。
- を(これはの結果を持っていることをサービスとユニットテストにロジックを抽出
- トランザクション内の単体テストのプロシージャを呼び出してロールバックします(データベースに依存し、単体テストの速度が遅くなるという欠点があります)
- SQL Serverには機能がありますshared classes inside its stored proceduresを使用する - あなたは単体でそのコードをテストすることができます。
私は以前writtenこのテーマにしましたので、あなたはそれが役に立つかもしれません。
- #1 - 残念ながら、これはデータを返すために呼び出されているWCFサービスなので、この状況ではうまくいきませんが、通常これに同意します。 - #2 - これは私が現在やっていることですが、悪い習慣のために呼び出されました。 - #3 - 私たちはDBチームに手を差し伸べることはできません。 – user3333735
WCFサービスには、他のサービスと同じ方法でロジックを含めることができます。 –
このサービスを呼び出すフロントエンドWebサイトがあります。私は既存のWCFサービスでロジックを更新しています。すべてのデータは、サービス層を介してWebサイトから呼び出されます。サービスレイヤーはデータベースに直接アクセスします。 – user3333735
- 1. 常にnull以外の結果を返すメソッド呼び出しを呼び出す結果
- 2. JMockitでプライベートメソッドを呼び出して結果をテストする
- 3. ASHXハンドラを呼び出して結果を返す方法
- 4. ストアドプロシージャを呼び出して結果を返すWeb API
- 5. ストアドプロシージャを呼び出して結果を返す
- 6. RecognizerListenerを呼び出すクラスへの結果を返します
- 7. Ajax呼び出しは同じ結果を返します
- 8. 呼び出し可能な結果を返すノンブロッキングメソッド
- 9. Windowsのスケジュールされたタスクは、powershellを呼び出してWebメソッドの結果を呼び出します。401
- 10. JavascriptはPHP関数を呼び出して結果を返します
- 11. WCF呼び出し結果
- 12. メソッドが非同期呼び出しの結果を待つ
- 13. メソッドの結果としてhttp呼び出しの結果をどのように形成するか?
- 14. ビューからアクションを呼び出してその結果を返す方法
- 15. mysql_queryが選択呼び出しに結果を返さない
- 16. jspページのパラメータを持つクラスの外部メソッドを呼び出して結果を返す方法
- 17. メソッドは、結果を返す前にAJAX呼び出しが結果を返すのを待つ方法を作る方法はありますか?
- 18. 複数のAPI呼び出しの結果を結合する
- 19. AntlrはJavaメソッド呼び出しをパラメータ名と値でトレースし、結果を返す正しいツールですか?
- 20. Mockitoで実際のメソッドを呼び出すが、結果を傍受する
- 21. メソッドを呼び出してその結果を出力するにはどうすればよいですか?
- 22. .get呼び出しでjQueryの.pushを呼び出すと、空の結果が返されます。
- 23. C++:オブジェクトを繰り返して同じメソッドを呼び出す
- 24. Javaメソッドを呼び出してデータを返す
- 25. ウェブページからPythonスクリプトを呼び出して結果を得る
- 26. 任意のメソッドを呼び出すと、メソッドの代わりにGet()の結果が返されます
- 27. 空配列の `every`メソッドと` some`メソッドを呼び出すと、奇妙な結果が返されます
- 28. 同時呼び出しをブロックし、非同期メソッドから単一の結果を返す
- 29. JavaScript:結果を得るためにDocument.evaluateメソッドを呼び出す方法
- 30. JQueryのオートコンプリートを使用して結果をAjax呼び出しで呼び出そうとしています
1オンスのコードなしで手助けするのは難しいです。ストアドプロシージャを呼び出すメソッドのコードを投稿してください。 – JuanR
_「私はこの論理を単体テストするように言われました」_あなたが話した人に彼らが望むものを明確にするように頼んでみてはどうですか? – stuartd