2009-05-29 10 views

答えて

4

VS2005、そして私はMSツールでいくつかの問題があったため、ある時点でNUnitを交換してみました。ここに私の調査結果の一部を以下に示します。

MSテストツールのプロ

  • 簡単にMSを使用するように管理を説得する(もちろん、これは技術的な問題ではありませんが、それは多くの企業では、おそらく関連するツールを提供)
  • テストライブラリ、テストランナーとコードカバレッジは、すべてうまくVS
  • Team Foundationのセットアップで中央報告やその他の機能
  • 多かれ少なかれとNUnitのとと同じ機能セットを統合している(私はその感覚を得ますNUnitはより良いことがありますMSテストツールが、違いは巨大ではありません)

MSテストツールの短所

  • VS2005 - 本当に遅い、VS2008多くの方が、依然として低迷大きなソリューション
  • テストホストがあるためSTAを使用すると、マルチスレッドコードをテストするのが難しくなります
  • VSのサポートは、同じインターフェイスでテストファーストとテスト後をサポートするため、ちょっと大変です(2つの「新しいユニットテスト」コマンドがあります) )
NUnitのへの切り替えを最後に

は理由のカップルのための私達に魅力的ではなかった。

  • コードの変更ではなく、多くなく、多数の試験でそれはまだ仕事のビットになる
  • 開発者の座席ごとのコストと複雑さの増加:MS TestとNUnitを交換すると、テストランナーとコードカバレッジも緩和されます。どちらもR#、TestDriven.NET、NCoverなどの他のツールで取得できますが、すべてコストと複雑さの両方を追加します。ノートのカップルはMSTestをRE
+0

あなたがMSツールを高く評価している場合 - VS2010はあなたの単体テスト&コードカバレッジ結果とあなたのマシン上でのローカル変更に基づいて "Test Impact"を提供します。どの他のテストを実行するかを知ることができます(影響を受けた可能性のある他のコードをテストするため)http://dotnet.org.za/willy/archive/2008/11/26/visual-studio-2010-ctp-2-a- (個人的な意見... Go NUnit) – Gishu

+0

もちろん、MSTestsを持っている場合にのみ "Test Impact"を取得します - これはMSTestsを持つ唯一の違いです – Gishu

+0

私は個人的にNUnitを選んだのですが、どうして私たちが決めたのかを確かに理解することができます。私たちにはたくさんの開発者がいるので、コストがかかります特に複雑さは私たちの関心事です。 –

3

Visual Studio 2008をお持ちでない、またはExpressエディションしかない開発者に単体テストを実行させますか?これは特にオープンソースプロジェクトに関係します。もしそうなら、私はオープンソース・ユニット・テスト・フレームワークの1つに行きます。

+0

良い点。私はペットのプロジェクトでVS2008を使用している自分自身のためだけに検討しているので、技術的な観点から私はまだ知りたいです。 – Pablo

1

VS2008より前に作成されたほとんどのテストプロジェクトは、今日でも他のライブラリを使用していると思います。

新しいプロジェクトの場合は、個人的な味わいになると思います。

はまた、すべてのVisual Studioのバージョンは、私が思うテストフレームワークをサポートしていません...

0

NUnitのは、Visual Studioのテストフレームワークが同時にテストを実行するのに対し、あなたは定義された順序でテストを実行することができます。

+2

実際には、テストをvstsで注文することはできますが、いくつかのフープジャンプが必要です。しかし、単体テストは互いに独立していなければならないので、なぜそれらを順番に実行することを望んでいる/必要としているのでしょうか。あなたがそれを必要とするならば、あなたのユニットテストで何かが間違っています – Alex

+0

ユニットテストフレームワークを使用しているからといって単体テストのためだけに使うつもりはありません。 – semiprocappa

1

私はVisual Studioテストプロジェクトを使い始めました。私はサードパーティのテスト製品を使用する経験はありませんが、私はVisual Studioのものがほとんどの点で完全に適切であることがわかりました。

私はそれはあなたがすでにNUnitのを使用する方法を知っているおよび/またはRhinoはその後、彼らと一緒に行く皮肉っている場合は。

の経験を持っているものまでboildだろうと思います。

経験が不足していたり​​、経験を積むことに慣れていない場合は、Visual Studioで提供されているものを使用してください。

便利な点は、右クリックしてコード内のどこからでも「ユニットテストの作成」を選択すると、Visual Studioのスタブとアクセサが自動的に作成されることです。厳密なTDDのコードを書く前にテストをしていない場合に特に便利です。

1

いくつかの利点:

  • (Jonの)あなたはエクスプレス
  • ロトの最先端機能のは、自由なライブラリの上に構築されますVS 2008でテストを実行することができます。例えば。 BDD
  • 一般に、OSSテストフレームワークに関しては、rich extensabilityがあります。
  • OSSフレームワークのソースにデバッグし、必要に応じて変更することができます。おそらく、いくつかのテストフレームワークlike xUnitは学ぶのが簡単であり、より洗練された副作用のないテストパターンを実行することは容易です。私たちは、以来、MSのテストツールを使用しているあなたはVS 2008で取得素晴らしいtestdriven.netはかなりすべてのOSSテストフレームワークのをサポートしています(良くない場合)、あなたはIDEとの統合を同じを得る考える

1

...

1)市場の機能をbrining専用のチーム全体が(それは文字通り彼らのフルタイムの仕事です)があります。これらのユーザーは、文書を書くためのリソース、他のマイクロソフト製品との統合ポイント、一般的なテストコミュニティからの進歩、そしてこれらがマイクロソフトのテスト製品に及ぼす影響、そして一般的には、 MSTestに行くと、これらの人々の努力とMsが投資するすべての利益を得ることができます。

2)Webテストとストレステスト。まだWebテストとストレステストで動作する他の専用グループ(MSTestグループとは別)があります。これらは、Microsoftからのテストスタックへの巨大な追加です。これらは、オンラインユーザーをシミュレートし、複雑な帯域幅操作を使用し、サーバーのパフォーマンスをチェックする方法を提供します。ウェブテストとストレステストは、MSテストスタックに本当に迫力のある外観を与える大きな理由です。

3)機能テスト... Msは完全なUI自動テストのサポートを追加しています。これは実際に提供されるものです。以前のバージョンのMSテストツールでは欠けていましたが、完全に統合されたUIテストツールのセットは、MSテストテクノロジへの投資の全体的な蓄積を実際に増幅させると考えなければなりません。

4)上記のとおり - インパクトテスト。開発者の視点から見ると、これはすごくクールです。前述のように、ツールはユニットテストのコードカバレッジに渡された正しいユニットテストを選択します。だから開発者が編集し、既存のクラス、等...このツールは、チェックインに影響を与えるテストを具体的に指し示しています。ところで、これは#1で言及した研究の素晴らしい例です。

....続きを読む - 私はVSTSに直接関わっていました。私はそれを私の家族の一部とみなしました。そうです。私は偏見の点で全く妥協しました。非MSのテストツールについて

...

A)あなたは他の企業の努力も全体のオープンソースコミュニティを無視することはできません。あなたがオープンソースコミュニティー全体と他のすべての企業努力をいくつかのMicrosoft製品チームと片手で考えるなら、本当にMSはまだ失われています。しかし、MSの取り組みはほとんどが調整されていますが、必ずしもそうではありません。

B)他のベンダー/オープンソースコミュニティからの早急な転送。 Msは改善していますが、他のコミュニティやベンダーは、物事を市場に出すにあたり、MSのペースを上回っています。これはテストツールの革新と変わらない。

C)*****その他のテストツールは、ms以外のテクノロジスタックのものではうまくいっています。いくつかのケースでは、ツールは「ok」になり、他のケースではボートが完全に見逃されます。多くの場合、MSのツールから得た大きなチケットは、他のテクノロジー(NON-MSを読む)技術スタックにはない - 他のベンダーやオープンソースコミュニティ(明らかに)は、もっと魅力的なサポートを提供している。

最後に...私はこれをお勧めします:あなたはMSスタックを使い、MSDNを使ってVisual Studioに投資しているので、MSツールを購入するには多額のアクセスと投資があります....本当に、いくつかのフォームのMS開発ツールとテストツールを使用するのは簡単なことではありません。テストツールの統合と残りのVSTS - 聖なる牛の使用については私も議論しませんでした。

他のスタックを使用している場合は、MSスタック/ MS提供の開発ツールにエンドツーエンドの投資をしないでください。他のOSなどがあるショップで操作している場合デスクトップやサーバーのインストールなどのための巨大な取引です... MSツールセットのマイナーな要素がチェックアウトする価値があるかもしれませんが、明らかにMSテストツールの方向性はいくらか難しくなり、コストもかかります。

これが役に立ちます。

関連する問題