単体テストの生成などはありますか?もしそうなら...
...うまくいきますか?
... .NETで利用できる自動生成ソリューションは何ですか?
...このようなテクノロジーを使用した例はありますか?
...これは特定の種類のアプリケーションにのみ有効ですか、それとも手動で記述されたすべての単体テストを置き換えるために使用できますか?
単体テストの生成などはありますか?もしそうなら...
...うまくいきますか?
... .NETで利用できる自動生成ソリューションは何ですか?
...このようなテクノロジーを使用した例はありますか?
...これは特定の種類のアプリケーションにのみ有効ですか、それとも手動で記述されたすべての単体テストを置き換えるために使用できますか?
Pexを見てください。そのMicrosoftResearchプロジェクト。ウェブサイトから:
Pexは、動的シンボリック実行に基づく自動探索テストを通じて、手書きのパラメーター化されたユニットテストからユニットテストを生成します。
コメントで述べたように、Pexは現在IntelliTestと呼ばれ、Visual StudioEnterpriseEditionの機能です。MSTest、MSTest V2、NUnit、およびxUnit形式でのテストの発行をサポートし、他の単体テストフレームワークで使用できるように拡張可能です。
ただし、次の注意事項に注意してください。
TDDに関する限り、ユニットテストの生成には意味がないと思います。
ユニットテストを行うのは、(開発者としての)設計と仕様に関して順調に進んでいることを確認するためだけです。テストの生成を自動的に開始すると、その目的は失われます。確かにそれはおそらく100%のコードカバレッジを意味しますが、そのカバレッジは無意味で空です。
自動化された単体テストは、戦略がテストアフターであることも意味します。これは、TDDのテストビフォアテネットとは逆です。繰り返しますが、TDDはテストに関するものではありません。
そうは言っても、MSTestには自動単体テスト生成ツールがあると思います。VS2005で使用できました。
2017 年に更新:
Unit Test Boilerplate Generatorは VS 2015-2017 で動作し、メンテナンスされています。宣伝どおりに機能するようです。
ジョンに同意します。自動ファズテストなどの特定の種類のテストは、自動生成の恩恵を確実に受けます。単体テストフレームワークの機能を使用してこれを達成することはできますが、これは、良好な単体テストカバレッジに関連する目標を達成しません。
Parasoft .TESTには、テスト生成の機能があります。テストの説明とアサーションの評価に NUnit フレームワークを使用します。
シナリオの自動生成 (入力の構築とテスト済みメソッドの呼び出し) と、現在のコード ベースの動作に基づくアサーションの作成により、回帰テスト スイートを準備することができます。後で、テスト対象のコード ベースが進化した後、アサーションは回帰を示すか、簡単に再記録できます。
NStubを使用して、クラスのテストをスタブアウトしました。それはかなりうまく機能します。
ツールを使用してテスト ケースを生成しました。高レベルのエンドユーザー指向のテストにはうまく機能すると思います。純粋な単体テストよりも、ユーザー受け入れテストの一部です。
この受け入れテストには単体テスト ツールを使用します。それはうまくいきます。
テスト ケースを作成するためのツール を参照してください。
JUnit テスト クラスを自動的に生成する AgitarOne (www.agitar.com) という商用製品があります。
私はそれを使用したことがないので、それがどれほど有用であるかについてコメントすることはできませんが、現時点で Java プロジェクトを行っているなら、私はそれを見ているでしょう.
私は.netに相当するものを知りません(Agitarは.netバージョンを発表しましたが、私の知る限り、それは実現しませんでした)。
このスレッドが古いことは知っていますが、すべての開発者のために、 nunit という優れたライブラリがあります。
https://marketplace.visualstudio.com/items?itemName=NUnitDevelopers.TestGeneratorNUnitextension
編集: XUNIT (マイクロソフトがサポート) を使用してください: https://github.com/xunit/xunit
自動生成されたテスト: https://marketplace.visualstudio.com/items?itemName=YowkoTsai.xUnitnetTestGenerator
良い開発者
Seleniumは、Web ページ上のユーザー コマンドから単体テストを生成します。