Ich versuche, meine Controller zu testen, aber jeder von ihnen ist abhängig von einem Dienst, der von einem Repository abhängig ist. Ich habe den folgenden Code ...AutoMocker Frage
Mock.Get(controller.Get<ServiceInterface>())
.Setup(s => s.GetData())
.Returns(FakeData.Create<Entity>(25));
Ich halte einen Fehler immer auf die ServiceInterface konkrete Klasse im Zusammenhang keine Standardinstanz für sein Repository mit (eingespritzt). Ich versuche zu vermeiden, einen FakeService zu erstellen, aber es sieht so aus, als würde ich das tun müssen. Kann mir jemand Vorschläge machen?
Mein Controller hat eine injiziert Abhängigkeit von meinem Dienst und mein Service hat eine injiziert Abhängigkeit auf einem Repository. Ich versuche, meinen Dienst zu verspotten, damit ich ihn einschleusen kann, aber das Problem, auf das ich stoße, ist, wenn ich versuche, meinen Dienst zu verspotten. Ich erhalte einen Fehler, wenn AutoMocker nicht in der Lage ist, ein Mock-Repository in den verspotteten Dienst zu injizieren. Hoffe das erklärt ein bisschen mehr. – jsteve81
Das ergibt wirklich keinen Sinn. Wenn Ihr Controller von der Service-Schnittstelle abhängig ist und der Controller nicht direkt von der Repository-Schnittstelle abhängig ist, sollte NOTHING beim Mocking der Service-Schnittstelle vom Repository abhängen. In diesem Fall sollte es in Ihrem Test nicht angezeigt werden. Verwenden Sie die Repository-Schnittstelle in Ihrer Testkonfiguration? Wird die Klasse von FakeData verwendet? –