Если сборка содержит файл app.config, ConfigurationManager
будет загружать ее, пока она находится в том же каталоге, что и проект NUnit, который выполняется через NUnit-Gui. Для иллюстрации рассмотрим следующую структуру папок.
+ TestFolder
testProject.nunit
+ AssemblyAFolder
assemblyA.dll
assemblyA.dll.config
+ AssemblyBFolder
assemblyB.dll
assemblyB.dll.config
Оба AssemblyA
и AssemblyB
реализуют код, который вызывает ConfigurationManager
. Если я запускаю эти тестовые сборки самостоятельно в NUnit-Gui, ConfigurationManager
будет правильно разрешать локальные файлы конфигурации.
Однако, если я загружаю testProject.nunit
в NUnit-Gui (который содержит ссылки как на AssemblyA
, так и на AssemblyB
), ConfigurationManager
ищет файл конфигурации в TestFolder
независимо от того, какая сборка выполняется в данный момент.
Есть ли способ перенаправить NUnit на перезагрузку конфигурации приложения на тот, который присутствует в текущем каталоге сборки?
Вот содержимое testProject.nunit
:
<NUnitProject>
<Settings activeconfig="Debug" />
<Config name="Debug" binpathtype="Auto">
<assembly path="AssemblyAFolder\assemblyA.dll" />
<assembly path="AssemblyBFolder\assemblyB.dll" />
</Config>
</NUnitProject>