Ich habe ein paar kleine fließende Schnittstellen durch Methodenverkettung erstellt. Sie rufen normalerweise eine Reihe von Repositorys auf, die Daten von Webservices/Datenbanken abrufen.Wie teste ich Unit-Testcode, der eine Fluent-Schnittstelle verwendet?
Wie sollte ich über Unit-Testmethoden gehen, die die fließende Schnittstelle verwenden?
Public IEnumberable<Computer> FindComputers(string serialNumber)
{
return Computers.FindBySerialNumber("YBCX00900")
.AttachConfiguration()
.EnsureAllComputersHaveConfiguration();
}
Ich kann Einheit testen Sie die einzelnen Komponenten der Fluent Interface, aber wenn ich Unit-Test wollen die FindComputers Methode über das, was soll ich tun?
- über die konkrete Umsetzung der Fluent Interface und Erwartungen an den Repository-Klassen
- Mock die fließend Schnittstelle selbst und stellten auf diesem
- -Test nur die fließend Schnittstelle selbst und nicht die FindComputers Erwartungen schreiben() Methode
Ich möchte einen leicht zu wartenden Ansatz finden.
Danke, du hast Recht, das Beispiel ist schlecht durchdacht, ich habe seit dem FI in eins für die Abfrage, und eines, um Operationen an den zurückgegebenen Daten durchzuführen. Ich habe es am einfachsten gefunden, die FI einzeln zu testen, und dann Einheit Testmethoden, die die FI mit der konkreten Implementierung verwenden. Testen Sie einfach, dass das gewünschte Ergebnis zurückgegeben wird. Der Versuch, das FI zu verspotten, macht die Tests nur zu spröde. – Andronicus