如何从单元测试中访问IApplicationEnvironment?

时间:2015-05-07 21:23:55

标签: asp.net-core xunit xunit2

如何从xUnit 2单元测试中访问IApplicationEnvironment?

有几种情况我觉得我需要这个,包括:

  • 从使用单元测试构建的非嵌入式配置文件中读取
  • 创建和编写与单元测​​试相关的文件

1 个答案:

答案 0 :(得分:4)

嗯,这不太理想,但您可以使用the static service locator来实现它:

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

我不确定xUnit是否通过构造函数注入了框架依赖项,我敢打赌它没有。如果确实如此(这将是完美的),您可以通过其构造函数将其注入测试类。