2

私のプロジェクトで DateTime.Now のすべてのインスタンスを委任したいと思います。プロジェクトは全体としてテストする必要があり、単体テストはこの場合役に立ちません。DateTime.Now を特定の時刻に設定するか、現在の日時から分を加算/減算してから、プロジェクト内のすべての DateTime.Now 参照がリダイレクトされた値を取得するようにしたいと思います。これは Microsoft Moles で可能ですか? ほくろ計装を使用してプロジェクト全体を実行する方法はありますか? ありがとうございました!

4

1 に答える 1

0

問題の解決策は、依存性注入を使用して System.DateTime 型をスタブすることです。IOC の改造に 30 ~ 60 分以上かかることはありません。Ninject などのサードパーティ ユーティリティを使用することもできます。ただし、物事を正しい方法で実行し、コーディングすることが常に最善です。

Moles や Fakes の使用は、どうしても必要な場合 (サードパーティ API など) を除いて、本当にやりたくないことです。凶悪な行為の前に、あなたの未来の自分がターミネーター ロボットを過去に送り込み、自分自身を暗殺することを約束します。

于 2012-07-21T18:52:10.277 に答える