39

助言がありますか?C# でビジュアル スタジオを使用します。

これにアプローチするための特定のツールや方法はありますか?

アップデート:

すみません、もう少し具体的に書くべきでした。私は ASP.Net 2.0 を使用しており、jUnit for Java のようなツールをもっと探していました。NUnit と NUnitAsp を調べたところ、非常に有望に見えます。また、Visual Studio Pro にテスト スイートがあることさえ知らなかったので、これらのオプションをすべて調べてみます (この夏、Visual Studio/Asp.net/C# を使い始めたばかりです)。

4

7 に答える 7

34

少年、それはかなり一般的な質問です。私は最善を尽くしますが、私が1マイルも逃すのを見る準備をしてください。

仮定

  1. プレーンASPではなくASP.NETを使用しています
  2. あなたは本当にあなたのウェブページをテストしたくはありませんが、それらの背後にあるロジックです。実際の.ASPXページの単体テストはかなり面倒ですが、それを行うためのフレームワークがあります。 NUnitAspはその1つです。

最初に行うことは、テストできるようにコードを整理(または計画)することです。現時点で最も人気のある2つのデザインパターンは、MVPとMVCのようです。どちらもアプリケーションのロジックをビューから分離しているため、ビュー(Webページ)を邪魔することなくロジックをテストできます。

MVPまたはMVCのいずれかが有効になります。MVCには、Microsoftフレームワークの準備がほぼ整っているという利点があります。

テスト容易性を促進するフレームワークパターンを選択したら、単体テストツールを使用する必要があります。 NUnitは良い出発点です。Visual Studio Professionalにはテストスイートが組み込まれていますが、NUnit+ TestDrive.NETはIDEでも機能します。

それは一種のショットガンの情報の爆発です。それがヒットした場合、私はいくつかを願っています。Pragmatic Bookshelfには、このトピックをカバーする優れた本があります

于 2008-08-07T04:23:38.000 に答える
5

これらのフレームワークは統合テストには役立ちますが、単体テスト、つまり永続性やビジネス ロジックなどから分離されたビューのテストを提供することはできません。

Asp.Net Webforms と MVC の単体テストには、Ivonna使用できます。たとえば、データベース アクセスをモックし、モックされたレコードがデータグリッドに表示されることを確認できます。または、統合テストのように、ログイン ページに移動して資格情報を入力することなく、メンバーシップ プロバイダーをモックしてログイン シナリオをテストできます。

于 2008-10-21T20:35:51.353 に答える
4

1年ほど前にPolymorphicPodcastで、ASP.NETでのMVP実装のかなり良いイントロウォークスルーを行ったスクリーンキャストシリーズがありました。このように実装すると、単体テストはより自然に実行されます。

http://polymorphicpodcast.com/shows/mv-patterns/

于 2008-08-07T04:50:54.060 に答える
3

WatiNは私が見つけた中で最高です。Visual Studio 単体テストまたは nunit に統合され、ブラウザで必要なことはほとんどすべて実行できます (リンクのクリック、フォームの送信、テキスト/画像の検索など)。さらに、.net で記述されているため、 ruby をインストールする (watir の場合と同様に、素晴らしいツールです)

于 2008-09-23T01:10:22.030 に答える
2

NUnitはあなたのために行く方法です。ここにいくつかのリンクがあります:

  1. http://nunitasp.sourceforge.net/tutorial/
  2. Scott Hanselman による Cassini を使用した ASP.NET ページ、基本クラス、コントロール、およびその他のウィジェットの NUnit 単体テスト
于 2008-08-28T02:20:33.743 に答える
2

http://selenium.openqa.org/を見てください。これは、ブラウザーにフックする単体テストを作成する優れた自動化された方法を提供します。テストを記録するための優れた Firefox プラグインがあり、ほぼすべての単体テスト フレームワークを利用できます。先月のローカル ユーザー グループ ミーティングでプレゼンテーション/デモを行いましたが、素晴らしかったです。

于 2008-08-28T02:26:00.750 に答える
2

最善の策は、モデル ロジックをプレゼンテーションから分離し、NUnit などを使用してモデルを徹底的に単体テストすることです。ユーザーと Web ページとの対話をテストするのは面倒な場合があります。

実際にユーザーと Web ページとの対話を単体テストしたい場合は、waitn などの前述のツールのいくつかが良いと思われます。私が聞いたものへの追加はSeleniumです。

于 2009-06-30T05:05:30.327 に答える