Включить данные в мои юнит-тесты - PullRequest
0 голосов
/ 29 января 2009

У меня есть несколько файлов, которые я хочу использовать в своих модульных тестах, но я хочу, чтобы эти файлы были связаны с расположением библиотеки DLL, в которой содержатся модульные тесты, возможно ли это?

Другими словами, я включил папку «Ресурсы», в которой содержатся некоторые файлы для моих модульных тестов, которые будут использоваться в тестировании. Я отметил файлы «Build Action» = «Content» и «Copy to Output Direct» = «Copy Always», но это не делает то, что я думал, что будет делать. Я думал, что это скопирует контент, но когда мои тесты запускаются, они говорят, что файлы не существуют.

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

Я также попытался добавить следующее как событие перед сборкой, а также как событие после сборки, но это также не решило мою проблему.

xcopy "$(ProjectDir)Resources\*.*" "$(OutDir)Resources\*.*" /i /d /s /y

Если я создаю предыдущее событие до или после сборки, я вижу, что данные копируются в мой outdir, но он не попадает в папку TestResults, куда также должна быть скопирована папка Resources, чтобы тесты могли есть какие-либо данные для испытаний.

1 Ответ

2 голосов
/ 29 января 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...