Мне нужна помощь с моими тестами Moq.У меня есть один большой проект, и когда мы начали создавать тесты с использованием конфигурации XML, все прошло хорошо.Теперь это было изменено, и вся конфигурация находится в БД.
Некоторые методы изменены и так.(Я использую текущую платформу для создания модульных тестов и создаю некоторые тесты. Я хочу сказать, что я новый с тестами.) Теперь у меня проблема: не работает ни один тест.Я получил следующую ошибку, используя простой тестовый запуск, когда выполнение кода пытается запустить метод.
if (!UnitWork.HasStarted) UnitWork.Start();
Ошибка:
The type initializer for 'Real.Shared.Dependency' threw an exception.
StackTrace:
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean fillCache)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
at Real.Shared.Dependency..cctor()
Нужно ли вносить изменения в базовый класс теста, иликто-то знает, что еще здесь происходит?
Это метод, при котором тест прерывается, когда я пытаюсь запустить UnitWork.Start()
, что кстати.public static class
:
public T ResolveConfValueForURL<T>(string url, string configurationKey)
{
try
{
if (!UnitWork.HasStarted) UnitWork.Start();
UrlToOrganMapping urlToOrgMap =
(UrlToOrganMapping)Dependency.Resolve<IUrlToOrganMappingRepository>()
.GetByUrl( url );
if ( urlToOrgMap != null )
return ResolveConfValue<T>(urlToOrgMap.Organization, configurationKey, null);
else
return ResolveConfValue<T>(null, configurationKey, null);
}
catch (Exception e)
{
//Log an eror
LoggingBLL.LogMessage("Configuration - ResolveConfValueForURL", e);
throw;
}
finally
{
if (UnitWork.HasStarted) UnitWork.Finish();
}
}