Модульный тест C# с использованием IdentityDbContext – 3 теста длятся очень долгоC#

Место общения программистов C#
Ответить
Anonymous
 Модульный тест C# с использованием IdentityDbContext – 3 теста длятся очень долго

Сообщение Anonymous »

У меня есть контроллер, и мне нужно его протестировать. Контроллер принимает ApplicationDbContext в своем конструкторе, наследуя от IdentityDbContext. Этот IdentityDbContext принимает строку/имя подключения в своем конструкторе.

Код: Выделить всё

// AccountController
private readonly ApplicationDbContext _applicationDbContext;

public AccountController(ApplicationDbContext applicationDbContext)
{
_applicationDbContext = applicationDbContext;
}

// ApplicationDbContext
public class ApplicationDbContext : IdentityDbContext

public ApplicationDbContext() : base("IdentityConnection")
{
}
Строка подключения IdentityConnection указана в app.config проекта UnitTests: В файле тестов ApplicationDbContext заключен в Mock, а конструктору контроллера передается свойство Object имитируемого объекта.

Код: Выделить всё

private Mock _applicationDbContext;

public void Initialize()
{
_applicationDbContext = new Mock();

_accountApiController = new AccountController(
_applicationDbContext.Object);
}
Хитрость в том, что первые три метода тестирования (их фазы инициализации) зависают при вызове конструктора IdentityDbContext примерно на 30 секунд, что удлиняет процесс сборки на полторы минуты. Другие методы тестирования работают без задержек.
Задержка в трех методах очень раздражает, и мне бы хотелось этого избежать.
Любая помощь приветствуется.

Подробнее здесь: https://stackoverflow.com/questions/798 ... -very-long
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»