0

私は実際にWebのWebサービスをテストしています。Nunit や Gallio などのユニット テスターと連携します。

実は、私には問題があります。処方箋のように、HTML に大量のデータを入力する必要があるサービスをテストしたいと考えています。問題は、テストを行うために xml を手動で編集していることです... 面倒で重すぎるため、それを行うためのアジャイルな方法を探しています。

上司から、html などのすべてのフィールドに入力できるフォーミュラリを作成してから、それを使用して xml を作成するように言われました。ベース xml を手動で編集するよりも効率的です。

私を助けることができるツールはありますか?

私の悪い英語でごめんなさい。

4

3 に答える 3

0

環境とhttpリクエストのモック作成に伴う労力のため、Webサービスを介してコードを単体テストしないことにしました。

代わりに、可能な限り多くのコードを「コア」コンポーネントに移動します。このコンポーネントは、Webフレームワークに依存しません(この場合はASP.NETであるため、「コア」はSystem.Webなどのアセンブリを参照しません)。

Webフレームワークに依存するコードは、「web」コンポーネントに残されます。これは可能な限り小さくするように努めています。通常、認証、承認を処理し、リクエストを変換し、「コア」内の適切な機能を呼び出して処理します。

'core'へのパブリックインターフェイスを完全にユニットテストしようとしますが、'web'インターフェイスをユニットテストしようとはしません。別の種類の自動テストを使用して「web」をテストする予定です。

于 2011-05-18T13:33:34.820 に答える
0

SeleniumまたはFitnessを試す必要があります。

于 2011-05-16T11:05:52.240 に答える
0

もしかしたら、テストデータビルダーがあなたのために働くかもしれませんか? クラスを作成して、テストに書き込むことができます

var xml = new WebServiceCallBuilder()
             .WithDefaultValues()              // this sets most common options
             .WithParamX("something")          // which You can then modify
             .WithParamY("something other")
             .WithParamZ("another thing")
             .Build();

var result = webService.Call(xml);

次のようなことができるように、テスト データ ビルダーを実装することもできます。


var xyzBuilder = new WebServiceCallBuilder()
                 .WithDefaultValues()
                 .WithParamX("x")
                 .WithParamY("y")
                 .WithParamZ("z");
var xyzXml = xyzBuilder.Build();

// let's say now You want similar builder but with different Z param
// then You can do this to not copy/paste/modify code above
var xyzzzBuilder = new WebServiceCallBuilder(xyzBuilder)
                      .WithParamZ("zzz");
var xyzzzXml = xyzzzBuilder.Build();

私はおそらくそれを使用するでしょう。

于 2011-05-16T21:32:01.743 に答える