Проблема использования AppDomain в тестовых случаях Xunit -Cake Script

Я запускаю тестовые случаи Xunit, как упоминалось в моем предыдущем вопросе.

Как пройти и потерпеть неудачу в подсчете тестовых случаев в xunit, используя скрипт cake (C# make)

Во время выполнения контрольных примеров большинство моих контрольных примеров не выполнялось при попытке доступа к файлу из моего AppDomain,

Тестовые случаи успешны в Visual Studio,

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

Примечание. Я использую NoAppDomain из Xunit2Settings как false.

1 ответ

Решение

При работе с модульными тестами и файлами, я бы рекомендовал сначала посмотреть, можно ли избежать использования реальной файловой системы, используя данные в памяти или ресурсах сборки. Таким образом, параллельное выполнение, блокировки файловой системы или подобные вещи не будут проблемой. Так что, если у вас есть возможность реорганизовать файловую систему из тестов (если только это не то, что вы тестируете), я бы сначала пошел по этому пути.

Один из способов обойти проблему, с которой вы столкнулись, - это использовать абсолютные пути, вы могли бы достичь этого в своих тестах, используя местоположение сборки теста, а затем путь. Скомбинируйте относительный путь к этому. Есть хороший ответ Stackru, объясняющий, как получить путь к вашей сборке: /questions/16640783/kak-mne-poluchit-put-k-sborke-v-kotoroj-nahoditsya-kod/16640828#16640828

Быстрое исправление, которое вы можете попробовать - использовать рабочий каталог Xunit2Settings, чтобы установить тот же текущий каталог, что и VisualStudio, но это не то, что я тестирую или рекомендую.

Другие вопросы по тегам