Создавать миграции в проекте модульного тестированияC#

Место общения программистов C#
Anonymous
Создавать миграции в проекте модульного тестирования

Сообщение Anonymous »

У меня есть проект веб-API ASP.NET Core с EF Core и базой данных SQL Server, использующей шаблон репозитория. Все работает нормально.
Я добавил в решение тестовый проект xUnit и сослался на проект веб-API. Я также добавил ок. Пакеты EF Core nuget также включены в этот проект. Для этого тестового проекта я также создал тестовую базу данных, поскольку не хочу использовать базу данных в памяти и другие технологии.
Моя цель — добавить миграции в тестовую базу данных и использовать тестовую базу данных так же, как и в проекте API.
Для этого я добавил appsettings.json в тестовый проект и определил строку подключения, а также добавил контекст класс в тестовый проект:

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

using Microsoft.EntityFrameworkCore;

namespace PlanProApiTest.Data
{
public class PlanProTestDbContext : DbContext
{
public PlanProTestDbContext(DbContextOptions
 options) : base(options) { }

public DbSet Actions { get; set; }
}
}
Затем я попытался запустить команду

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

add-migration Initial -startupproject PlanProTest
но я получаю сообщение об ошибке:

Произошла ошибка при доступе к службам Microsoft.Extensions.Hosting. Продолжаем без поставщика услуг приложений.

Ошибка: точка входа завершилась, не создав IHost.Невозможно создать «DbContext» типа «». Исключение «Невозможно разрешить службу для типа Microsoft.EntityFrameworkCore.DbContextOptions1[PlanProApiTest.Data.PlanProTestDbContext]» при попытке активировать «PlanProApiTest.Data.PlanProTestDbContext». был выброшен при попытке создать экземпляр.

Я предполагаю, что мне нужно каким-то образом зарегистрировать PlanProTestDbContext. Но как?
Я новичок в модульном тестировании, поэтому мой вопрос может показаться глупым. Я даже не знаю, какова точка входа в проект модульного тестирования.

Подробнее здесь: https://stackoverflow.com/questions/787 ... st-project

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