0
Как я могу написать этот простой тест на основе записи и воспроизведения в синтаксисе AAA с картой Rhino Mocks?Как я могу написать этот простой тест в синтаксисе AAA с картой 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);
}
Я думаю, что yould должен использовать 'GenerateStub' здесь. Вам нужно только «GenerateMock», если вы хотите использовать «.Expect». Обратитесь к руководству пользователя о [различии между GenerateMock и GenerateStub] (http://www.ayende.com/wiki/Rhino+Mocks+3.5.ashx) (хотя, честно говоря, страница в целом также немного запутанна. .. Я имею в виду часть, где говорится: «В большинстве случаев вы должны предпочесть использовать заглушки. Только когда вы тестируете сложные взаимодействия, я рекомендую использовать макетные объекты».) –