3

ライフスタイルが「PerWebRequest」であるタイプに依存するコントローラーの単体テストを作成しようとしています。

Castleは次の例外をスローします。

System.InvalidOperationException:HttpContext.Currentがnullです。PerWebRequestLifestyleは、ASP.Netでのみ使用できます。

これを回避するために、なんとかしてHttpContext.Currentプロパティをモックできますか?

MVCContribのTestControllerBuilderを使用してこのコントローラーを初期化しようとしましたが、効果がありません。

  SymptomTopicController controller = new SymptomTopicController();
        controller.WorkOrderFulfillment = workOrderFulfillment;

        TestControllerBuilder controllerBuilder = new TestControllerBuilder();
        controllerBuilder.InitializeController(controller);
4

2 に答える 2

7

あなたはそれを間違っています

依存関係を抽象化し、テストでコンテナーを使用しないでください。

于 2011-01-06T10:09:10.950 に答える
1

この質問を見たことがありますか:Test InitメソッドのモックHttpContext.Current

于 2011-01-04T21:33:40.393 に答える