Проблема использования 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, но это не то, что я тестирую или рекомендую.