如何注册IUrlHelper和IHttpContextAccessor i集成测试?

时间:2016-01-25 02:08:38

标签: c# asp.net testing asp.net-core-mvc dnx

我正在尝试为我的ASP5 MVC6应用程序创建集成测试。

在我的集成测试中,我注册了所有类,并在Startup类中添加了一些MVC特定的东西:

_services.AddEntityFramework()
                     .AddSqlServer()
                     .AddDbContext<ApplicationDbContext>(
                         options =>
                             options.UseSqlServer(_configuration[ServerModulesLoader.DataDefaultConnectionConnectionstringConfigurationKey]));

            _services.AddIdentity<ApplicationUser, IdentityRole>()
                .AddEntityFrameworkStores<ApplicationDbContext>()
                .AddDefaultTokenProviders();

            _services.AddCors();
            _services.AddMvc();

一切正常,直到IUrlHelperIHttpContextAccessor出现在依赖关系树的某处。

这就是我为测试创建控制器的方法:

// register all my classes
// run the code from above
_provider = _services.BuildServiceProvider();
ActivatorUtilities.GetServiceOrCreateInstance<T>(_provider);

现在我为这些接口注册了模拟,但我宁愿使用原始实现。

我错过了什么?

0 个答案:

没有答案