1

WebControls を単体テストするために、ASP.NET 3.5 の動作をモックしたい: 既存のイベント システムを使用して、モック データでそれらがどのように動作するかをテストしたい。基本的には、入力されたモックデータに基づいて、生成された結果の HTML をテストしたいと考えています。

どうやってするの?

NMock を調べましたが、次の 2 つの理由から私のニーズには合いません。

  1. 結果のHTMLを取得するために、ASP.NETサーバーを別のプロセスで実行するだけです。
  2. 私の WebControls はレンダリング時に HTML をテキストとして出力するため、どの ASP.NET コントロールにも対応しない要素があります (場合によっては LiteralControl を除く)。

また、私は巨大なレガシー システムを持っているため、MVC 用にすべてを書き直すことはできません (仕事が多すぎます)。既存のコントロールに単体テストを記述する必要があります。

4

1 に答える 1

2

単体テストは、環境やコンテキストに関係なく呼び出すことができる中間層およびバックエンド コードに最適です。コードを分離し、環境/コンテキスト要件をパラメーターに組み込むことができればできるほど、テストはより簡単で信頼性が高くなります。

UI コードの単体テストはそれほど単純ではありません。通常、最善の方法は、純粋な UI コード (この場合は HTML 生成) を UI 関連のロジック コードから View および ViewModel クラスに分離することです。ただし、コードベースが大きく、大きな変更を加えることができないとおっしゃいました。

したがって、単体テストを超えた次のステップを検討することはおそらく適切です。UI ベースの回帰テスト ツールを使用して、UI の自動化と検証を行います。

于 2010-02-04T03:22:59.310 に答える