| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- using System;
- using System.Data.Common;
- using Abp.TestBase;
- using Castle.MicroKernel.Registration;
- using EntityFramework.DynamicFilters;
- using WePlatform.EF;
- using WePlatform.SeedData;
- namespace WePlatform
- {
- /// <summary>
- /// 这是所有测试类的基础类。
- /// 它准备了ABP系统,模块和一个伪造的内存数据库。
- /// 具有初始数据的种子数据库(<see cref =“TestDataBuilder
- /// 提供使用DbContext轻松使用的方法。
- /// </summary>
- public abstract class WeEngineTestBase : AbpIntegratedTestBase<WeEngineTestModule>
- {
- protected WeEngineTestBase()
- {
- //种子初始数据
- //UsingDbContext(context => new TestDataBuilder(context).Create());
- }
- protected override void PreInitialize()
- {
- //假DbConnection使用Effort!
- LocalIocManager.IocContainer.Register(
- Component.For<DbConnection>()
- .UsingFactoryMethod(Effort.DbConnectionFactory.CreateTransient)
- .LifestyleSingleton()
- );
- base.PreInitialize();
-
- }
- public void UsingDbContext(Action<WePlatformDbContext> action)
- {
- using (var context = LocalIocManager.Resolve<WePlatformDbContext>())
- {
- context.DisableAllFilters();
- action(context);
- context.SaveChanges();
- }
- }
- public T UsingDbContext<T>(Func<WePlatformDbContext, T> func)
- {
- T result;
- using (var context = LocalIocManager.Resolve<WePlatformDbContext>())
- {
- context.DisableAllFilters();
- result = func(context);
- context.SaveChanges();
- }
- return result;
- }
- }
- }
|