Je suis actuellement test unitaire d'un système de registre universitaire, alors qu'il a toujours une erreur quand une méthode que je vais tester contient un médiateur qui prendra contact avec l'Université avec servi de médiateur. Y a-t-il des idées sur la façon de tester cette méthode?Unité Méthodes de test qui contiennent un médiateur utilisant C#
La méthode est:
public void SelectCourse(List<Course> courses)
{
if (this.IsFullTime)
{
while (_CurrentCourses.Count < LEAST_NUM_OF_COURSES_FULLTIME)
{
Random rand = new Random();
byte[] b = new byte[1];
rand.NextBytes(b);
int i = rand.Next(courses.Count);
Course c = courses.ToArray()[i];
((University)mediator).RegisterStudentForCourse(this, c);
}
}
else
{
while (_CurrentCourses.Count < LEAST_NUM_OF_COURSES_PARTTIME)
{
Random rand = new Random();
byte[] b = new byte[1];
rand.NextBytes(b);
int i = rand.Next(courses.Count);
Course c = courses.ToArray()[i];
// I always //has unit test error with this line!!:
((University)mediator).RegisterStudentForCourse(this, c);
}
}
System.Console.WriteLine("Student: "
+ this.Name
+ ", with student number: ("
+ this.StudentNumber
+ ") registered.");
}
Avec [injection de dépendance ] (http://en.wikipedia.org/wiki/Dependency_injection), vous pouvez insérer un objet 'University' simulé à l'exécution pour le test unitaire. Une comparaison des cadres fictifs est ici: http://stackoverflow.com/questions/37359/what-c-sharp-mocking-framework-to-use –
L'injection de dépendance @ArunMahapatra n'est pas strictement nécessaire pour utiliser des objets fictifs dans les tests unitaires . – phoog