Ich habe den folgenden Testcode:
%Vor%Alle Tests und Behauptungen haben Erfolg bis zum:
%Vor%Dort bekomme ich die Ausnahme:
%Vor%Ich habe alles versucht, was mir einfällt, und meine Tests scheinen darauf hinzuweisen, dass das parentViewModel Mock null oder eine leere Enumeration zurückgibt (dh wenn ich den Debugger zur Überprüfung des zurückgegebenen Wertes verwende, sagt die 'Ergebnisansicht' Enumeration ergab keine Ergebnisse).
Was fehlt mir hier?
Ich habe den fehlerhaften Code seitdem entfernt; aber ich habe nie herausgefunden, warum es sich so verhielt wie es war.
milestones.Count()
wird so ausgeführt (da dies ein IEnumerable-Objekt ist):
Also schlage ich vor, dass Sie etwas umschreiben.
Option 1:
Erstellen Sie keine IEnumerable-Sammlung, sondern ein stärkeres Objekt wie List
oder Array
:
var milestones = viewModel.Milestones.ToArray();
//var milestones = viewModel.Milestones.ToList();
Danach können Sie die Count
- und Length
-Eigenschaft für den Assert
check verwenden:
Assert.That(milestones.Count, Is.EqualTo(1));
//Assert.That(milestones.Length, Is.EqualTo(1));
Erstellen Sie eine lokale Variable zum Speichern des Zählparameters:
var count = viewModel.Milestones.Count(); // .Count() method executes here.
Assert.That(count, Is.EqualTo(1));
Tags und Links .net unit-testing c#-4.0 rhino-mocks