新しいFakesフレームワークを使用して、.net4.0フレームワークで実行されている一部のレガシーコードのテストカバレッジを拡大することを検討しています。残念ながら、.net4.5にアップグレードできないようです。.net 4.0(およびVS2012)ではFakesフレームワークを使用できず、代わりに現在サポートされていないMolesフレームワークを使用する必要があると言ったのは正しいでしょうか?
5 に答える
私は一般的にモグラのファンではありませんが、レガシ コードに関するテストを取得する際にモグラが役立つことは理解しています。以下は、検討できるその他のツールです。しかし、真剣に、私はこれらのタイプのフレームワークが嫌いです。物事を行う正しい方法は、テスト可能なコードを記述し、そうでないレガシー コードをリファクタリングすることだからです (これが常に簡単または可能であるとは限らないことは理解しています)。ほくろは、単体テストの主な利点の 1 つを取り除くと思います。つまり、ここで説明するように、適切なコードを作成する必要があります。
考慮すべき点がいくつかあります。
JustMock の無料の軽量バージョンもありますが、何が含まれているかは不明です。
Microsoft Fakes を使用できるようにするには、Visual Studio 2012 Ultimate または Premium Update 2 を使用する必要があり、単体テストは以前のバージョンの .NET Framework を対象にすることができます。
私は偽物で 3.5 アセンブリをテストしています。偽物テスト自体は 4.5 用にコンパイルされています。3.5 用にコンパイルしようとはしていませんが、展開マシンで実行することを意図していません。
これはあなたが尋ねたものではないことは知っていますが、マイクロソフト以外のモック フレームワークを検討/評価しましたか?
Rhino.Mocksは信じられないほど人気があり、堅牢であり、FakeItEasyの採用が拡大しています。ドキュメントは豊富ではありませんが、信じられないほど直感的で使いやすいです。
Microsoft Fakes フレームワークは、Visual Studio 2012 自体と同じ .NET バージョンをサポートしています。これには、バージョン 4.5、4.0、3.5、3.0、および 2.0 が含まれます。