Модуль тестирования Resharper Unit не может найти файлы содержимого - PullRequest
11 голосов
/ 09 ноября 2010

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

Ответы [ 3 ]

9 голосов
/ 25 ноября 2011

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

4 голосов
/ 10 ноября 2010

Мы решили эту проблему, пометив тестовые файлы как встроенные ресурсы, а затем использовали служебный метод для чтения встроенного ресурса и записи его в ожидаемое местоположение.

0 голосов
/ 01 апреля 2019

Я также боролся с тестами на основе 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» = «Содержимое» и «Копировать в выходной каталог» = «Копировать всегда»)

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

...