Ich bin mir nicht sicher, wie Sie eine Methode testen können, die Parameter als String akzeptiert und ein Objekt basierend auf diesem Parameter zurückgibt. Ich kann die Methode nicht bereitstellen, da die Anweisungen, die ich erhielt, Blackbox-Tests verwenden sollten. (Methode wurde bereitgestellt.)Java: Unit Testen einer Methode, die ein Objekt zurückgibt
Antwort
Normalerweise würden Sie sich die verschiedenen Pfade innerhalb dieser Methode ansehen. Dann schreibst du mindestens einen Testfall pro Pfad.
Jeder Test verwendet die Eingabeparameter, die in den entsprechenden Pfad münden sollen, und bestätigt etwas über das Ausgabeergebnis, das wiederum den Erwartungen für diesen Pfad entspricht.
Von der Black-Box-Seite kommend, können Sie dies auf ähnliche Weise tun: aber hier konzentrieren Sie sich auf den öffentlichen Auftrag der Methode, um die erforderlichen Tests zu bestimmen.
Und idealerweise tun Sie zuerst Black-Box, und später können Sie die Abdeckung messen, um sicherzustellen, dass Ihre Testmethode keine Aspekte enthält, die durch den Black-Box-Ansatz übersehen werden. Oder zu finden: Mein Vertrag ist vollständig getestet; aber ich benutze immer noch nur 80% des Codes in dieser Methode. Jetzt müssen Sie entscheiden: Ist Ihr Verständnis des Vertrags unvollständig? Oder enthält die Methode 20% Code, der gelöscht werden sollte ?! Mit anderen Worten: Das ist eher eine gedankliche Sache: Möchten Sie sich darauf konzentrieren, dass alle möglichen Pfade mindestens einmal getestet wurden, anstatt zu testen, ob der öffentliche Auftrag wie erwartet funktioniert (was die Verfügbarkeit eines Formulars erfordert) der Spezifikation!).
- 1. Unit testet eine Methode, die ein nicht triviales Objekt zurückgibt
- 2. Unit Test für eine Methode, die ein Connection-Objekt zurückgibt
- 3. Node Stub eine Methode, die ein Objekt zurückgibt
- 4. C# Unit Testing: eine Methode testen, die MapPath
- 5. Java Returning-Methode, die Arraylist zurückgibt?
- 6. Unit Eine Methode testen, die Objektinstanzen intern verwendet
- 7. Scala-Funktion, die ein anonymes Objekt zurückgibt?
- 8. Methode, die ein Array in Java zurückgibt, kann privat sein?
- 9. Wie Unit-Test ein ActionResult, das ein ContentResult zurückgibt?
- 10. Wie Unit-Test eine statische Methode mit einem gefälschten Objekt für die Abhängigkeit testen?
- 11. Erstellen einer Methode, die mehrere Werte zurückgibt
- 12. Erstellen einer Methode, die einen Zahlenbereich zurückgibt?
- 13. Unit Testen einer Anmeldung in ASP.NET
- 14. Wie testen, ob ein Objekt eine Java AWT-Komponente ist?
- 15. SOAP-Webservice-Methode, die verschiedene Typen zurückgibt
- 16. Unit-Tests soll Controller-Methode, die Service-Methode verspottet oder Service-Methode direkt zu testen?
- 17. Wie node.js Modul zu testen, die anonyme Funktion zurückgibt?
- 18. Unit Testen einer RESTful-API in Python
- 19. Ist eine Methode ein Objekt in Java?
- 20. Rails - Testen einer Methode, die DateTime.now verwendet
- 21. Unit testen Aurelia view
- 22. Unit Testing - Was nicht zu testen ist
- 23. Ist es besser, ein Objekt in einer Methode zu initialisieren, nachdem wir sicher sind, dass die Methode nicht null zurückgibt?
- 24. Unit Testen einer Klasse, die RegistryManager verwendet C# Azure IoTHub
- 25. Unit Testen einer Klasse, die das Dateisystem verwendet
- 26. Aufruf einer anderen Methode von Objekt-Java
- 27. Q_INVOKABLE-Methode, die benutzerdefinierten C++ - Typ zurückgibt
- 28. Python-Mock-on-Methode, die eher mock als return_value zurückgibt?
- 29. Java - Eine Methode, die Vararg übernimmt und Arraylist zurückgibt?
- 30. Unit-Tests eine Funktion, die einen Generator Objekt
Werfen Sie einen Blick auf JUnit. Erstellen Sie einen JUnit-Testfall, der die Methode mit einer Vielzahl von Eingabedaten ausführt, und überprüft, ob das zurückgegebene Objekt für jeden Eingabesatz korrekt ist. – Jason
Blackbox-Unit-Test? Was heißt das? Können Sie ein Beispiel angeben, das Ihr Problem veranschaulicht? –
@defaultlocale https://en.wikipedia.org/wiki/Black-box_testing – QBrute