Ich habe asp.net MVC-Anwendung geschichtet. In der Service-Schicht habe ich einen Container, um Abhängigkeiten zu registrieren. z:Unity - Resolving Abhängigkeiten basierend auf einer Bedingung
public static void RegisterTypes(IUnityContainer container)
{
container.RegisterType<ISomething, Something>();
}
auf der Gestaltung Basierend, brauchen wir eine Mock Umsetzung der Klassen haben, wenn der Benutzer die Anwendung zu Testzwecken zu eröffnen.
So kam ich mit einer Idee wie
public static void RegisterTypes(IUnityContainer container)
{
container.RegisterType<ISomething, Something>();
container.RegisterType<ISomething, SomethingMock>();
}
Wenn ich irgendwo ein Flag, um anzuzeigen, verwenden, ob oder nicht System im Testmodus läuft, wie kann ich eine Entscheidung treffen, auf dem an die lösen Abhängigkeits Laufzeit? Wenn es keine elegante Lösung ist, was könnte die Alternative sein?
ich verwende Einheit 3.5 und es scheint nicht zu dem Namen zu funktionieren Auflösen Registrierungen. –
Ich habe dies mit Unity 4.0.1 überprüft und es funktioniert gut, aber ich denke, es sollte auch mit älteren Versionen funktionieren. Was passiert in deinem Code? Vielleicht können wir herausfinden, was falsch ist. – jps