Только осваиваю юниттестирование. Возникает множество вопросов, например:
Как протестировать следующий код? Создавать мокап домена приложений?
public class ActionProviders
{
private static readonly Dictionary<string, IActionProvider> _providers = new Dictionary<string, IActionProvider>(StringComparer.InvariantCultureIgnoreCase);
static ActionProviders()
{
Load();
}
public static void Load()
{
//TODO TEST MISSING -- how to test it???
foreach (Assembly assembly in AppDomain.CurrentDomain.GetAssemblies())
{
foreach (Type type in assembly.GetTypes())
try
{
if (type.GetInterface(typeof(IActionProvider).FullName) != null)
{
if (type.GetConstructor(new Type[0]) != null)
_providers.Add(type.Name.Replace("Provider", ""), (IActionProvider)Activator.CreateInstance(type));
}
}
catch (TargetInvocationException) { }
catch (TypeInitializationException) { }
catch (ReflectionTypeLoadException) { }
catch (ArgumentNullException) { }
catch (ArgumentException) { }
}
}
public static IDictionary<string, IActionProvider> Providers
{
get { return _providers; }
}
}