webapi集成测试中的EF Core 2上下文为空

时间:2017-08-21 11:56:10

标签: c# entity-framework .net-core

迁移到EF Core 2.0(从1.1)后,我的集成测试失败,因为DI创建的上下文为空。

我在WebApp.Tests程序集中启动:

services.AddDbContext<MyContext>(x => x.UseInMemoryDatabase(nameof(MyContext))
                .ConfigureWarnings(z => z.Ignore(InMemoryEventId.TransactionIgnoredWarning))
                .EnableSensitiveDataLogging());

我的IntegartionTestFixture类包含

var builder = new WebHostBuilder()
            .UseContentRoot(contentRoot)
            .ConfigureServices(OverrideServices)
            .UseEnvironment("Development")
            .UseStartup(typeof(WebApp.Tests.Startup))
            ;

        _server = new TestServer(builder);

        Client = _server.CreateClient();

我的测试以

开始
var options = new DbContextOptionsBuilder()
            .UseInMemoryDatabase(nameof(MyContext))
            .Options;
using (var db = new MyContext(options))
        {
            db.SeedSingleUserLogin();
            db.SaveChanges();
        }

稍后我调用webapi,注入我的控制器的dbcontext为空。

0 个答案:

没有答案