.NET 4には、モンキーパッチの能力に起因するモック/より良いユニットテストのためになりますか?

StackOverflow https://stackoverflow.com/questions/1855242

質問

のアップ来鉄のPython の実装についてこれを考えてみましょう。

それはサルが右のパッチ適用が可能になる理論的には?良いか悪いか、それがない重要。他の誰かの非テスト可能なコード(少なくとも簡単には)ダイナミックキーワードは猿がしてしまうパッチを適用できるようになる考えますそれはありませんか?私は右のそれを読んでいる場合、これはC#とVBのための大きな可能性を秘めている。

この上の思考は何ですか?

役に立ちましたか?

解決

ネット4におけるダイナミック型のサポートは本当にあなたのCLR型システム全体でフルモンキーパッチサポートを与えるものではありません。それはあなたのオブジェクトを模擬するための別の方法を与えるが、(現在の方法はたくさん良いです率直見MOQする: http://code.google.com/p/moq/する

ダイナミックタイプを使用すると、インテリセンスを失うので、引数が、それはモックのための動的に賢明ではないことを行うことができます。

IronPythonのスタイルの傍受は、あなたがあなた自身の目的の動作と、既存のオブジェクトをラップすることができますが、それはあなたが(これ以降から)すべてのFooオブジェクトにパッチを適用するために、フレームワークを伝えることができなくなりますので、バー方法はBAR2を呼び出します代わりに、バーのます。

彼らは、マーシャリングが起こっているのC#コードを呼び出すとき、

劇中の2つの独立型システムがあるIronRubyのとIronPythonのを、覚えておいて、基礎となるCLR型システムとIronRubyの/ IronPythonの型システムがあります。 IronRubyの/ IronPythonのが適切猿が自分のタイプのシステムにパッチを適用できるようにもかかわらず、彼らはのCLR型システムにパッチを適用するのと同じメカニズムを使用することはできません。

あなたは猿がパッチを適用したい場合は、

あなたは適切な傍受を必要とし、それが に難しいです:<のhref = "https://stackoverflow.com/questions/1331851/dynamic-interception-of-calls-in -net / 1331869#1331869" > .NET の

のコールの動的な傍受
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top