From d1ebb882e8484c80eca86cac80602fb4c1401834 Mon Sep 17 00:00:00 2001 From: 杨宇千 Date: Sun, 4 Aug 2019 21:30:53 +0800 Subject: Fix the database bug in unit tests. --- .../Helpers/WebApplicationFactoryExtensions.cs | 59 ---------------------- 1 file changed, 59 deletions(-) delete mode 100644 Timeline.Tests/Helpers/WebApplicationFactoryExtensions.cs (limited to 'Timeline.Tests/Helpers/WebApplicationFactoryExtensions.cs') diff --git a/Timeline.Tests/Helpers/WebApplicationFactoryExtensions.cs b/Timeline.Tests/Helpers/WebApplicationFactoryExtensions.cs deleted file mode 100644 index 5a1f97d5..00000000 --- a/Timeline.Tests/Helpers/WebApplicationFactoryExtensions.cs +++ /dev/null @@ -1,59 +0,0 @@ -using Microsoft.AspNetCore.Hosting; -using Microsoft.AspNetCore.Mvc.Testing; -using Microsoft.AspNetCore.TestHost; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Logging; -using Timeline.Models; -using Timeline.Services; -using Xunit.Abstractions; - -namespace Timeline.Tests.Helpers -{ - public static class WebApplicationFactoryExtensions - { - public static WebApplicationFactory WithTestConfig(this WebApplicationFactory factory, ITestOutputHelper outputHelper) where TEntry : class - { - return factory.WithWebHostBuilder(builder => - { - builder - .ConfigureLogging(logging => - { - logging.AddXunit(outputHelper); - }) - .ConfigureServices(services => - { - var serviceProvider = new ServiceCollection() - .AddEntityFrameworkSqlite() - .BuildServiceProvider(); - - services.AddDbContext(options => - { - options.UseSqlite("Data Source=:memory:;"); //TODO! This not work! - options.UseInternalServiceProvider(serviceProvider); - }); - - var sp = services.BuildServiceProvider(); - - // Create a scope to obtain a reference to the database - // context (ApplicationDbContext). - using (var scope = sp.CreateScope()) - { - var scopedServices = scope.ServiceProvider; - var db = scopedServices.GetRequiredService(); - - // Ensure the database is created. - db.Database.EnsureCreated(); - - db.Users.AddRange(TestMockUsers.MockUsers); - db.SaveChanges(); - } - }) - .ConfigureTestServices(services => - { - services.AddSingleton(); - }); - }); - } - } -} -- cgit v1.2.3