2017-01-04 6 views
0

現在、私たちは信頼できる俳優の1人でSOAPサービスを呼び出すサービスファブリックプロジェクトに取り組んでいます。これらの呼び出しでは、ActorのSettings.xmlからいくつかのパラメータを読み込み、App.configファイルのSOAPエンドポイントアドレスとバインディング情報を読み込みます(実際は後者はSOAPサービスの生成されたサービスプロキシクラスによって暗黙的に行われます)。サービスファブリックユニットSettings.xmlとApp.Configから設定情報を読み取る信頼できるアクターメソッドの照合

今、xUnit + ServiceFabric.Mocksを使用して単体テストの作業をしようとしています。私が通過する俳優の特定の方法をテストするために:ステップで活性化コンテキストのインスタンスを使用して「StatefulServiceContextの」作成「MockCodePackageActivationContext」 2)の作成 1)1. 3)

下のコードと俳優をインスタンス化
MyActor target = new MyActor(
       new ActorService(
        context: serviceContext, 
        actorTypeInfo: ActorTypeInformation.Get(typeof(MyActor)), 
        stateManagerFactory: (actorBase, stateProvider) => new MockActorStateManager() 
       ), 
       new ActorId(Guid.NewGuid()) 
      ); 

4)私はtarget.MyMethod_Test()がないテストをしたため、どちらかの設定情報を読んでいるSettings.xmlまたはApp.configファイルから

を提出することができないことに壊れるtarget.MyMethod()を呼び出しconfigから何かを読んで成功しました。

誰かが似たようなことに遭遇しましたか?どのように解決しましたか?

答えて

0

構成データを提供する別のクラスを作成することができます。そのためのインターフェイスを作成し、それをActorコンストラクタのProgram Mainに挿入します。たとえば、サービスコンテキストを新しいクラスに渡します。

また、インタフェースのモック実装を作成し、テスト目的でそのインタフェースをアクタに渡します。

関連する問題