Ich verwende den Artikel "Auto mocking Explained" von Joshua Flanagan als Leitfaden. In dem Artikel gibt es einen Abschnitt mit dem Titel "Die gleichen Tests, mit automocker würde wie folgt aussehen". Ich habe diese Informationen verwendet, um den Code zum Ausführen des Automockers zu erstellen.
Wie Sie unten sehen können, ist die Antwort eine vom BLL zurückgegebene Liste. Die Antwort enthält eine Zeile, aber alle Felder sind Null. Der Test für boo schlägt also fehl. Für Tipps und Hinweise wären wir Ihnen sehr dankbar.
[Test]
public void GetStaffListAndRolesByTeam_CallBLLWithDALStub()
{
// Build List<> data for stub
List<StaffRoleByTeamCV> stubData = new List<StaffRoleByTeamCV>();
StaffRoleByTeamCV stubRow = new StaffRoleByTeamCV();
stubRow.Role = "boo";
stubRow.StaffId = 12;
stubRow.StaffName = "Way Cool";
stubData.Add(stubRow);
// create the automocker
var autoMocker = new RhinoAutoMocker<PeteTestBLL>();
// get instance of test class (the BLL)
var peteTestBllHdl = autoMocker.ClassUnderTest;
// stub out call to DAL inside of BLL
autoMocker.Get<IPeteTestDAL>().Stub(c => c.GetStaffListAndRolesByTeam("4146")).Return(stubData);
// make call to BLL this should return stubData
List<StaffRoleByTeamCV> answer = peteTestBllHdl.GetStaffListAndRolesByTeam("4146");
// do simple asserts to test stubData present
// this passes
Assert.IsTrue(1 == answer.Count, "Did not find any rows");
// this fails
Assert.IsTrue(answer[0].Role == "boo", "boo was not found");
}
Ich habe es mit MockMode.AAA versucht, aber immer noch kein Erfolg