質問

単体テスト生成などはありますか?もしそうなら...

...うまく動作しますか?

.... NETで利用できる自動生成ソリューションは何ですか?

...このような技術の使用例はありますか

...これは特定の種類のアプリケーションにのみ適していますか、それとも手動で記述されたすべての単体テストを置き換えるために使用できますか?

役に立ちましたか?

解決

Pex をご覧ください。そのMicrosoft Researchプロジェクト。ウェブサイトから:

Pexは、動的なシンボリック実行に基づく自動化された探索的テストを通じて、手書きのパラメーター化された単体テストから単体テストを生成します。

他のヒント

TDDに関する限り、ユニットテストの生成には意味がないと思います。

(開発者として)自分が設計と仕様に関して順調に進んでいることを確認するために、ユニットテストのみを行います。テストの自動生成を開始すると、その目的は失われます。おそらく100%のコードカバレッジを意味しますが、そのカバレッジは無意味で空です。

自動化された単体テストは、戦略がテスト後であることも意味します。これは、TDDのテスト前の教義とは反対です。繰り返しますが、TDDはテストに関するものではありません。

そうは言っても、MSTestには自動単体テスト生成ツールがあると信じています-VS2005で使用できました。

2017年に更新:

単体テストボイラープレートジェネレーターはVS 2015-2017で機能し、メンテナンス中です。宣伝どおりに動作しているようです。

「ErrorUnit」を作成し、一時停止したVisual StudioまたはエラーログからMSTestまたはNUnitユニットテストを生成します。これまでのところ、クラス変数、メソッドパラメーター、およびEFデータアクセスのモッキング。 ( http://ErrorUnit.com

すべてを実行できる単体テストジェネレーターはありません。ユニットテストは、従来、アレンジ、アクト、アサートの3つの部分に分かれています。アレンジ部分はユニットテストの最大部分であり、テストのすべての前提条件を設定し、テストで実行されるすべてのデータをモックします。ユニットテストのアクト部分は通常1行でアクティブになりますテスト中のコードの一部がそのデータを渡し、最後にテストのAssert部分がAct部分の結果を取得し、期待どおりになったことを検証します(エラーがないことを確認するだけでゼロ行になる場合があります)。

単体テストジェネレーターは通常、単体テストの作成時に「配置」と「実行」の部分のみを実行できます。ただし、ユニットテストジェネレーターは、目的に対して正しいものと間違っているものを知っているだけであるため、一般に「アサート」部分を書き込みません。そのため、完全性のためにユニットテストの手動入力/拡張が必要です。

ジョンに同意します。自動ファズテストなどの特定の種類のテストでは、自動生成のメリットが得られます。単体テストフレームワークの機能を使用してこれを達成することはできますが、優れた単体テストカバレッジに関連する目標を達成することはできません。

Parasoft .TEST には、テスト生成の機能があります。テストの説明とアサーションの評価にNUnitフレームワークを使用します。

自動生成シナリオ(入力の構築とテスト済みメソッドの呼び出し)および現在のコードベースの動作に基づくアサーションの作成により、回帰テストスイートを準備することができます。後で、テスト対象のコードベースが進化した後、アサーションはリグレッションを示すか、簡単に再度記録できます。

NStub を使用して、クラスのテストをスタブしました。かなりうまくいきます。

ツールを使用してテストケースを生成しました。高レベルのエンドユーザー指向のテストに適していると思います。純粋な単体テストではなく、ユーザー受け入れテストの一部です。

この受け入れテストには単体テストツールを使用します。うまくいきます。

テストケースをビルドするためのツールを参照してください。

JUnitテストクラスを自動的に生成するAgitarOne(www.agitar.com)という商用製品があります。
私はそれを使ったことがないので、それがどれほど有用かについてコメントすることはできませんが、現時点でJavaプロジェクトをやっていたなら、それを見ているでしょう。

.netに相当するものは知りません(Agitarは.netバージョンを発表しましたが、それが具体化することはありませんでした)。

このスレッドは古いことは知っていますが、すべての開発者のために、ユニットテストジェネレーターと呼ばれる優れたライブラリがあります:

https://visualstudiogallery.msdn.microsoft.com/45208924- e7b0-45df-8cff-165b505a38d7

良い開発者

GennyMcGenFace は、各機能のユニットテストを作成します。クラスを作成し、各パラメータにランダムな単語/値を持つオブジェクトを生成します。

  • クラスの各関数の単体テストを生成
  • パラメータ入力とreturnステートメントに対して、ランダムに生成された有効な値を計算します。
  • モック可能なインターフェースは、ランダムに生成された有効な値を返します
  • クラスの各関数の単体テストを生成
  • 必要なすべてのネームスペースをテストクラスにインポートします

特に多くのパラメータを持つ入力オブジェクトがある場合、単体テストの設定に役立ちます。

単体テストは次のようになります

Selenium は、Webページ上のユーザーコマンドからユニットテストを生成します。 。

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