Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
Тут можно читать бесплатно Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю. Жанр: Базы данных. Так же Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте mir-knigi.info (Mir knigi) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", true, true) .Build();public static ApplicationDbContext GetContext(IConfiguration configuration){ var optionsBuilder = new DbContextOptionsBuilder<ApplicationDbContext>(); var connectionString = configuration.GetConnectionString("AutoLot"); optionsBuilder.UseSqlServer(connectionString, sqlOptions => sqlOptions.<b>EnableRetryOn</b><b>Failure()</b>); return new ApplicationDbContext(optionsBuilder.Options);}Как вероятно вы помните, выделенный полужирным вызов
EnableRetryOnFailure()Добавьте еще один статический метод, который будет создавать новый экземпляр
ApplicationDbContextApplicationDbContextpublic static ApplicationDbContext GetSecondContext( ApplicationDbContext oldContext, IDbContextTransaction trans){ var optionsBuilder = new DbContextOptionsBuilder<ApplicationDbContext>(); optionsBuilder.UseSqlServer( oldContext.Database.GetDbConnection(), sqlServerOptions => sqlServerOptions.EnableRetryOnFailure()); var context = new ApplicationDbContext(optionsBuilder.Options); context.Database.UseTransaction(trans.GetDbTransaction()); return context;}Добавление класса BaseTest
Создайте в проекте новый каталог по имени
BaseBaseTest.csusingusing System;using System.Data;using AutoLot.Dal.EfStructures;using Microsoft.EntityFrameworkCore;using Microsoft.EntityFrameworkCore.Storage;using Microsoft.Extensions.Configuration;Сделайте класс абстрактным и реализующим
IDisposablereadonlyIConfigurationApplicationDbContextApplicationDbContextDispose()namespace AutoLot.Dal.Tests.Base{ public abstract class BaseTest : IDisposable { protected readonly IConfiguration Configuration; protected readonly ApplicationDbContext Context; public virtual void Dispose() { Context.Dispose(); } }}Инфраструктура тестирования xUnit предоставляет механизм для запуска кода до и после прогона каждого теста. Классы тестов (называемые оснастками), которые реализуют интерфейс
IDisposableDispose()Добавьте защищенный конструктор, который создает экземпляр реализации
IConfigurationApplicationDbContextTestHelpersprotected BaseTest(){ Configuration = TestHelpers.GetConfiguration(); Context = TestHelpers.GetContext(Configuration);}Добавление вспомогательных методов для выполнения тестов в транзакциях
Последние два метода в классе
BaseTestActionActionApplicationDbContextApplicationDbContextМетод
ExecutelnATransaction()ApplicationDbContextExecutelnASharedTransaction()ApplicationDbContextBaseTestПохожие книги на "Язык программирования C#9 и платформа .NET5", Троелсен Эндрю
Книги похожие на "Язык программирования C#9 и платформа .NET5" читать онлайн бесплатно полные версии.
Троелсен Эндрю читать все книги автора по порядку
Троелсен Эндрю - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки mir-knigi.info.