Подтвердить что ты не робот

Resharper Unit Test Runner не может найти файлы содержимого

У меня есть несколько тестов, которые полагаются на некоторые файлы, отмеченные как "Контент", и "Всегда копировать". Я использую атрибут DeploymentItem, чтобы убедиться, что они копируются в выходной каталог при запуске mstest вне VS. Однако при использовании тестового бегуна Resharper внутри VS эти файлы никогда не попадают в каталог, из которого он выполняется. Кто-нибудь знает, как это исправить?

4b9b3361

Ответ 1

Отключение опции Unit Testing > Shadow-copy assemblies being tested Resharper устраняет эту проблему для меня.

Ответ 3

Я также боролся с тестами на основе NUnit, где у меня есть файлы в тестовом проекте, которые я хочу прочитать как часть теста.

Запуск через NCrunch работает нормально, но с помощью Resharper он не может найти файл, находящийся в другом месте (например, C:\Users\myuser\AppData\Local\JetBrains\Installations\ReSharperPlatformVs15_f6172a1d_000).

Вырвав волосы, я наконец нашла решение. Вместо того, чтобы использовать

Environment.CurrentDirectory

или же

System.Reflection.Assembly.GetEntryAssembly().Location

В NUnit есть встроенное свойство:

TestContext.CurrentContext.TestDirectory

Теперь все совместимо с NCrunch, ReSharper и встроенным в Visual Studio Test Explorer! (Напоминание: вам все равно нужно установить "Build Action" = "Содержимое" и "Копировать в выходной каталог" = "Копировать всегда")

Надеемся, что есть эквивалент в других тестовых библиотеках.