Получение каталога сборки из автоматического теста - PullRequest
9 голосов
/ 03 января 2012

Я пытаюсь написать интеграционные тесты, чтобы покрыть большой рефакторинг моего приложения (я хотел бы написать модульные тесты, но это довольно далеко от того, чтобы быть модульным тестированием). Я использую Visual Studio 2010 SP1, Resharper и NUnit.

Моя текущая проблема заключается в том, что я не могу найти согласованный способ получения каталога исполняемой сборки; два метода, которые я попробовал, работают при запуске приложения самостоятельно или при отладке из Visual Studio, но они не работают при запуске теста из NUnit или Resharper. Вот код (VB.NET):

'Method 1    
Core.ConfigFile = My.Application.Info.DirectoryPath + "\" + DRA_CONFIG_FILE
'Method 2
Core.ConfigFile = IO.Path.GetDirectoryName(Reflection.Assembly.GetExecutingAssembly().Location) + "\" + DRA_CONFIG_FILE

Когда я отлаживаю тест с помощью Resharper, я получаю что-то вроде этого двумя способами:

C:\Documents and Settings\Tomas\Local Settings\Temp\0xl3rbd5.4qn\MGClient.Test\assembly\dl3\2a373977\60b182bb_e5c9cc01\DRA.config

(это должен быть D: \ SVN.DRA.WorkingCopy \ DRA.Test \ Integration \ MGClient.Test \ bin \ Debug \ DRA.config)

Как мне найти правильный путь?

Ответы [ 2 ]

8 голосов
/ 03 января 2012

Вам необходимо отключить теневое копирование в Resharper:

Меню Visial Studio -> Resharper -> Параметры -> Инструменты -> Юнит-тестирование

Отменить выбор Тестируемые сборки теневого копирования

1 голос
/ 03 января 2012

Когда я отлаживаю тест с помощью Resharper, я получаю что-то вроде этого двумя способами:

C:\Documents and Settings\Tomas\Local Settings\Temp\0xl3rbd5.4qn\MGClient.Test\assembly\dl3\2a373977\60b182bb_e5c9cc01\DRA.config

Отключение теневого копирования в NUnit Настройки тестового загрузчика - Дополнительно

...