Ich möchte einen einfachen Ninject-Anbieter erstellen, der Moq'd-Instanzen anstelle von konkreten Typen zurückgibt. Bis jetzt habe ich dies:
public class NinjectMockProvider<T> : IProvider
{
public static Type Type { get { return typeof(T); } }
public object Create(IContext context)
{
Mock<T> newMock = new Mock<T>();
return newMock.Object;
}
}
Aber ich bin mir sicher, dass das alles falsch ist, denn ich weiß nicht, was ich wirklich tue. Jede Hilfe und Codebeispiele wären großartig. Ich möchte nur die Fähigkeit zu tun:
kernel.Bind<ISomeInterface>().ToProvider<NinjectMoqProvider<ISomeInterface>>();
oder etwas in dieser Richtung.
Update
Ich habe herausgefunden, dass ich mit der Methodenbindung von Ninject erreichen kann, was ich will:
kernel.Bind<ISomeInterface>().ToMethod(x => new Mock<ISomeInterface>().Object);
Ich möchte immer noch einen eleganteren Weg, und ich muss vielleicht Ninject.Moq überprüfen, wie von Ian vorgeschlagen, aber wenn jemand irgendwelche echten Code-Beispiele hat, wäre das großartig.
0 Stimmen
Danke, das Beispiel der Methodenbindung ist großartig