質問

.NETまたはJavaプロジェクトは、それがほぼ100%のコードカバレッジをカバーするユニットテストケースを生成言う特定のユニットテストケースを生成するための優れたツールがあります。テストケースの数は、テストケースのセット循環的複雑度が高いほど、大きいが生成されるコード(ループおよび条件のネストより高いより高い循環的複雑度)の循環的複雑度に正比例することができました。私は(私はユニットテストを構築し、そのが生成された後、それを実行するつもりだと言う)それは完全に機能することを期待していないんだけど、私はそれはあなたが変更になっているテストケースには、テンプレートのスタイルを持つことができると言うでしょうあなたの意図のニーズに合ったケース。しかし、それはまた、適切なセットアップとティアダウンの方法を持っており、任意の依存関係が存在すべきであるユニットテストのためのモックオブジェクトを使用すべきかどうかを検出するのに十分な良いはずです。だから、存在するようなツールがあるのでしょうか?

役に立ちましたか?

解決

は、.NETのために、Microsoftは用ペックスをうまく行けば行く主流を持っていますコード契約と一緒に.NET 4.0は、に。私は非常にチャンネル9のビデオを見てお勧めします。

これは、この種のものは非常にデータ駆動型のクラスのための非常に良好であることを私を打つ - パーサなど私は、私は非常に頻繁にをだろうと見ることができません。を始めることで、しかし便利それにもかかわらず、あなたの武器庫に持っている道具ます。

他のヒント

(一般的にまたは.NET)C#の場合、 PEX のかもしれませんそのツール。これは、ILレベルで動作し、すべての枝にその方法を強制しようとします。それは成功したバグの広い範囲を明らかにした。(BCLなどで)

それが反intuituve思われるが、

、あなたはまた、ランダムテスト生成フレームワークに興味があるかもしれません。研究では、提案として、それは報道をもとに体系的なアプローチよりもバグを見つけるのと同じように有効であることが証明されています。

.NETとJavaの両方 Randoop にチェックしてください。それは完全に自動化されメソッド呼び出し、およびチェック契約、クラッシュ等の多かれ少なかれランダムシーケンスを生成することによって動作します。

また、あなたは、例えば、 QuickCheck に基づいて他のいくつかのランダムなテストツールをチェックアウトすることができますJavaの、スカラ、F#のため。 Pexとより類似していること、すなわち、あなたが仕様、またはパラメータ化ユニットテストを与え、ツールが生成された入力引数の数のためにそれをチェックします。

私は、ユニットテストを書くのこの「パラメータ化」の方法は、例、少なくとも60%で、実際に多くの、より自然で、そしてたくさんのより多くのバグを見つけることがわかってきました。

Javaの場合、あなたはオープンソースと現在アクティブ(免責事項である、 EvoSuite に確認することができ、私は一人ですその貢献者の)。また、より多くのツールの一覧については、関連する質問を見ますます。

Javaの場合、のJUnit-ツールをしてみてください。それは良いドキュメントと一緒にEclipseプラグインを所有しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top