0
Comment puis-je écrire ce simple test basé sur l'enregistrement et la relecture dans le cadre de la syntaxe AAA avec Rhino Mocks?Comment puis-je écrire ce test simple dans la syntaxe AAA avec le framework Rhino Mocks?
public interface IStudentReporter
{
void PrintStudentReport(List<IStudent> students);
List<IStudent> GetUnGraduatedStudents(List<IStudent> students);
void AddStudentsToEmptyClassRoom(IClassRoom classroom, List<IStudent>
}
[Test]
public void PrintStudentReport_ClassRoomPassed_StudentListOfFive()
{
IClassRoom classRoom = GetClassRoom(); // Gets a class with 5 students
MockRepository fakeRepositoery = new MockRepository();
IStudentReporter reporter = fakeRepositoery
.StrictMock<IStudentReporter>();
using(fakeRepositoery.Record())
{
reporter.PrintStudentReport(null);
// We decalre constraint for parameter in 0th index
LastCall.Constraints(List.Count(Is.Equal(5)));
}
reporter.PrintStudentReport(classRoom.Students);
fakeRepositoery.Verify(reporter);
}
Je pense que vous devriez utiliser 'GenerateStub' ici. Vous n'avez besoin de 'GenerateMock' que si vous voulez utiliser' .Expect'. Voir les conseils de l'utilisateur sur la [différence entre GenerateMock et GenerateStub] (http://www.ayende.com/wiki/Rhino+Mocks+3.5.ashx) (bien que pour être honnête, la page dans son ensemble est aussi un peu confuse. Je me réfère à la partie où il est dit "Dans la plupart des cas, vous devriez préférer utiliser des stubs.Seulement lorsque vous testez des interactions complexes, je recommande d'utiliser des objets fictifs.") –