4

xUnit 2 単体テストから IApplicationEnvironment にアクセスするにはどうすればよいですか?

これが必要だと思うシナリオがいくつかあります。

  • 単体テストで構築された、埋め込まれていない構成ファイルから読み取る
  • 単体テストに関連するファイルの作成と書き込み
4

1 に答える 1

4

理想的ではありませんが、静的サービス ロケーターを使用してアクセスできます。

var appEnv = CallContextServiceLocator.Locator.ServiceProvider
    .GetService(typeof(IApplicationEnvironment)) as IApplicationEnvironment;

xUnit がコンストラクターを介してフレームワークの依存関係を挿入するかどうかはわかりませんが、そうではないに違いありません。もしそうなら(これは完璧でしょう)、コンストラクターを介してテストクラスに注入するだけです。

于 2015-05-07T22:42:34.463 に答える