3

ServiceStack TestHostBase.csで単体テストのソースコードを調べて、自分のプロジェクトで実行しました。実際にリスナーを起動せずに単体テストを行うときにプラグインを有効にするにはどうすればよいですか?たとえば、Webサービスが正しく検証されることをテストしたいので、TestHostBase.csのConfigureに次のコードを追加します。

Plugins.Add(new ValidationFeature());
container.RegisterValidators(typeof(CustomerModelValidator).Assembly);

ただし、検証ルールに違反するCustomerオブジェクトを使用してbase.sendを呼び出すと、検証は行われません。(注:リスナーを使用してWebサービスを開始すると、検証は正常に機能します)

4

1 に答える 1

2

プラグインは AppHost の任意の部分を変更できるため (つまり、ルート、コンテンツ タイプ、要求/応答フィルター、CatchAll ハンドラーの追加など)。HttpListener (または ASP.NET ホスト) を起動せずに、サービスとの統合をテストすることはできません。

もちろん、プラグインがテスト可能な場合は、サービスとは別に単体テストを実行できます。

于 2012-07-29T16:03:19.903 に答える