Вы определили прибор с помощью конструктора, который принимает ApplicationDbContext
.Это означает, что вам нужно предоставить NUnit такой объект, чтобы он мог вызывать конструктор.
OTOH, используя TestFixture
без каких-либо аргументов, вы говорите NUnit использовать конструктор по умолчанию.Это источник исходного сообщения об ошибке, так как у класса не было конструктора по умолчанию.
Добавление конструктора по умолчанию позволяет NUnit создавать класс вашего прибора, но это все равно не дает вам необходимый dbContextдля запуска теста.
Обычно вы предоставляете аргумент конструктору приборов, передавая его в качестве аргумента TestFixtureAttribute
.Это может быть трудно сделать в вашем случае, и может быть проще либо создать контекст в OneTimeSetUp для класса, либо смоделировать контекст.То, что вы делаете, зависит от того, что именно вы пытаетесь проверить, что не ясно из вопроса.
В одном из ваших комментариев вы упоминаете, что хотите использовать «текущий dbContext».Это может быть ключом, если вы можете объяснить это дальше.Что вы подразумеваете под "текущим" здесь?Где этот контекст создан?Затем мы можем выяснить, как ваш тест может получить к нему доступ.