2009-05-04 7 views
4

私はC#コードの複雑な受け入れテストを書こうとしています。私はテストを書くときに、C#コンパイラを満たすために多くの明示的なキャストを行っていることに気付きました。私は、C#のような静的型の言語を使用して、制作コードに入った型安全性が気に入っていますが、私のテストでは、すべての明示的キャストを避けるために動的型言語(IronPythonやIronRubyなど)私のテストでオブジェクトに存在しないメソッドが呼び出された場合、実行時にコードが失敗することは問題ありません(失敗するテストです)。私は現在、私のユニットテストフレームワークとしてMS Testを使用しています。私がそれを使い続けることができれば便利です。 MS Testと統合するためにどのような動的(DLRベース)言語を使用できますか?それが助けになると思うならば、別のテストフレームワークを提案してください。.NETユニットテストにはどのような動的言語を使用できますか?

答えて

2

私はIronPythonのをお勧めします - その利点の中で優れた著書「IronPythonのですテストを含むあらゆる重要な側面を導きます。

+0

さらに調査した結果、DLRのScriptEngineクラスを使用してIronRubyまたはIronPythonスクリプトを呼び出してオブジェクトを渡すことができることがわかりました。私は、短期間で最善の方法は、([TestMethod]属性で装飾された)スタブテストメソッドを記述し、それぞれに異なる動的スクリプトを呼び出すことだと思います。これを行う方法を示すIronPythonの書籍からサンプルコードをダウンロードしました。 C#4.0が出てきたら、私は 'dynamic'キーワードを使うことができ、外部スクリプトはまったく必要ありません。 –

2

私はユニットテストのためのC#を好む...あなたは動的言語を探しているなら、あなたはそのために鉄のpythonを試すことができます....

2

IronRubyのとRSpecのために、あなたがこの記事をチェックアウトすることができます:

http://msdn.microsoft.com/en-us/magazine/dd453038.aspx

およびhttp://msdn.microsoft.com/sv-se/magazine/dd434651(en-us).aspx IronRuby .Net interopを使い始めるためのものです。

はその後常にますFitnesseがあります:

http://www.fitnesse.org/

ますFitnesse .NET 1.1および2.0のバイナリはここで見つけることができます:http://fitnesse.org/FitNesse.DotNet

+0

リンクありがとうございます。私はMSのテストに組み込むことができる動的な言語を探しています。つまり、タイプとメソッドの.NET属性をサポートしなければならないという意味ですが、動作するものが見つからなければRSpecを検討します。 –

関連する問題