Browse Source

添加Freesql单元测试

pull/43/head
WangJunZzz 4 years ago
parent
commit
6bb8f67e34
  1. 39
      aspnet-core/services/test/Lion.AbpPro.FreeSqlRepository.Tests/AbpProFreeSqlRepositoryTestModule.cs
  2. 2
      aspnet-core/services/test/Lion.AbpPro.FreeSqlRepository.Tests/Lion.AbpPro.FreeSqlRepository.Tests.csproj
  3. 2
      aspnet-core/services/test/Lion.AbpPro.TestBase/AbpProTestBaseModule.cs

39
aspnet-core/services/test/Lion.AbpPro.FreeSqlRepository.Tests/AbpProFreeSqlRepositoryTestModule.cs

@ -1,12 +1,9 @@
using System;
using System.Linq;
using Lion.AbpPro.EntityFrameworkCore;
using Lion.AbpPro.EntityFrameworkCore;
using Lion.AbpPro.FreeSqlRepository;
using Microsoft.Data.Sqlite;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp;
using Volo.Abp.EntityFrameworkCore;
@ -17,47 +14,51 @@ namespace Lion.AbpPro.FreeSqlReppsitory.Tests;
[DependsOn(
typeof(AbpProTestBaseModule),
typeof(AbpProEntityFrameworkCoreTestModule),
typeof(AbpProEntityFrameworkCoreModule),
typeof(AbpEntityFrameworkCoreSqliteModule),
typeof(AbpProFreeSqlModule)
)]
public class AbpProFreeSqlRepositoryTestModule : AbpModule
{
private const string ConnectionString = "Data Source=:memory:";
private SqliteConnection _sqliteConnection;
private const string ConnectionString = "Data Source=:memory:";
public override void ConfigureServices(ServiceConfigurationContext context)
{
var freeSql = new FreeSql.FreeSqlBuilder()
.UseConnectionString(FreeSql.DataType.Sqlite, ConnectionString)
.UseAutoSyncStructure(true)
.Build();
context.Services.AddSingleton<IFreeSql>(freeSql);
var connection = new SqliteConnection(ConnectionString);
ConfigureInMemorySqlite(context.Services,freeSql);
}
}
private void ConfigureInMemorySqlite(IServiceCollection services,IFreeSql freeSql)
{
_sqliteConnection = CreateDatabaseAndGetConnection(freeSql);
//services.Configure<AbpDbContextOptions>(options =>
//{
// options.PreConfigure<AbpProDbContext>(options => { options.DbContextOptions.UseBatchEF_Sqlite(); });
// options.Configure(context => { context.DbContextOptions.UseSqlite(_sqliteConnection); });
//});
services.Configure<AbpDbContextOptions>(options =>
{
options.PreConfigure<AbpProDbContext>(options =>
{
options.DbContextOptions.UseBatchEF_Sqlite();
});
options.Configure(context =>
{
context.DbContextOptions.UseSqlite(_sqliteConnection);
});
});
}
public override void OnApplicationShutdown(ApplicationShutdownContext context)
{
// _sqliteConnection.Dispose();
_sqliteConnection.Dispose();
}
private static SqliteConnection CreateDatabaseAndGetConnection(IFreeSql freeSql)
{
var connection = new SqliteConnection(ConnectionString);
//connection.Open();
connection.Open();
var options = new DbContextOptionsBuilder<AbpProDbContext>()
.UseSqlite(connection)
@ -69,10 +70,10 @@ public class AbpProFreeSqlRepositoryTestModule : AbpModule
{
freeSql.CodeFirst.SyncStructure(entityType.ClrType, entityType.GetTableName(), true);
}
//context.GetService<IRelationalDatabaseCreator>().CreateTables();
context.GetService<IRelationalDatabaseCreator>().CreateTables();
}
return connection;
}
}

2
aspnet-core/services/test/Lion.AbpPro.FreeSqlRepository.Tests/Lion.AbpPro.FreeSqlRepository.Tests.csproj

@ -16,8 +16,8 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\Lion.AbpPro.EntityFrameworkCore\Lion.AbpPro.EntityFrameworkCore.csproj" />
<ProjectReference Include="..\..\src\Lion.AbpPro.FreeSqlRepository\Lion.AbpPro.FreeSqlRepository.csproj" />
<ProjectReference Include="..\Lion.AbpPro.EntityFrameworkCore.Tests\Lion.AbpPro.EntityFrameworkCore.Tests.csproj" />
<ProjectReference Include="..\Lion.AbpPro.TestBase\Lion.AbpPro.TestBase.csproj" />
</ItemGroup>

2
aspnet-core/services/test/Lion.AbpPro.TestBase/AbpProTestBaseModule.cs

@ -43,7 +43,7 @@ namespace Lion.AbpPro
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
//SeedTestData(context);
SeedTestData(context);
}
private static void SeedTestData(ApplicationInitializationContext context)

Loading…
Cancel
Save