Недавно мы переместили все наши тесты из NUnit в MsTest. Мы используем Spring.NET для контейнера IOC и Log4Net. Log4Net не может найти файл log4net.xml, несмотря на его наличие в тестовом проекте. Есть идеи что это может быть?
Вот ошибка, которую мы получаем:
Не удалось создать экземпляр класса OurCompany.DataAccess.DocumentManagement.Tests.EmailVerificationTokensAdapterTests.DeleteTests. Ошибка: Common.Logging.ConfigurationException: невозможно создать экземпляр типа Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter. Возможное объяснение - отсутствие конструкторов с нулевым аргументом и одним аргументом NameValueCollection ---> System.Reflection.TargetInvocationException: цель вызова сгенерировала исключение. ---> Common.Logging.ConfigurationException: файл конфигурации log4net 'log4net.xml' не существует. в Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter..ctor (свойства NameValueCollection) --- Конец внутренней трассировки стека исключений --- в System.RuntimeMethodHandle._InvokeConstructor (метод IRuntimeMethodInfo, аргументы Object [], ссылка SignatureStruct подписи, объявление RuntimeType System. BindingFlags bindingAttr, Binder binder, Object [] args, CultureInfo culture, Object [] activateAttributes) в System.Activator.CreateInstance (Type type, BindingFlags bindingAttr, Binder binder, Object [] args, CultureInfo culture, Object [] activateAttributes) в общем .Logging.LogManager.BuildLoggerFactoryAdapter () --- Конец трассировки стека внутреннего исключения --- в Common.Logging.LogManager.BuildLoggerFactoryAdapter () в Common.Logging.LogManager.get_Adapter () в Spring.Testing.Microsoft.AbstractSpringContextTests..ctor () в Spring.Testing.Microsoft.AbstractTransactionalDbPtextTestSpring. Common.Domain.SATransactionalIntegrationTestsBase..ctor () в SATransactionalIntegrationTestsBase.cs: строка 19 в OurCompany.DataAccess.DocumentManagement.Tests.EmailVerificationTokensAdapterTests.DeleteTests..ctor () в DeleteTests.cs: строка 20
Вот что у нас есть в файле конфигурации:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="common">
<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
</sectionGroup>
</configSections>
<common>
<logging>
<factoryAdapter type="Common.Logging.Simple.TraceLoggerFactoryAdapter, Common.Logging">
<arg key="level" value="All" />
<arg key="showLogName" value="true" />
<arg key="showDataTime" value="true" />
<arg key="dateTimeFormat" value="yyyy/MM/dd HH:mm:ss:fff" />
</factoryAdapter>
</logging>
</common>
</configuration>