Ich versuche, eine Unit-Tests auf eine Klasse zu schreiben, die dynamisch Java-Klassen mit Daten aus XLS-Datei erstellt. Alle Schreibmethoden, die ich verwendet habe, sind privat. Ich habe eine öffentliche Methode in derselben Klasse, die alle diese privaten Schreibmethoden aufruft. Kann mir jemand sagen, wie man Komponententests für dieses Szenario schreibt?Unit Tests Datei IO Java
Antwort
Sie können dies auf zwei Arten tun:
Durch Reflexion, wie here gezeigt:
Method method = targetClass.getDeclaredMethod(methodName, argClasses);
method.setAccessible(true);
return method.invoke(targetObject, argObjects);
Oder man kann PowerMock verwenden, wenn Sie private Methoden verspotten wollen.
Private
Methoden sollten intern in der class
verwendet werden, und daher müssen Sie sie nicht testen, weil durch das Testen der öffentlichen, testen Sie indirekt die privaten. Wenn sie nicht verwendet werden, löschen Sie sie, damit Sie sie nicht haben.
Danke, ich habe einen neuen Thread erstellt, um dieses Szenario genauer zu erklären ... Wirklich zu schätzen Ihre Zeit ... http://stackoverflow.com/questions/36874254/test-if-the-returned-string- hat-Java-Klasse – Rookie
- 1. Java-Unit-Tests gesetzt Manifest-Eigenschaft
- 2. Mocking Db in Java-Unit-Tests
- 3. Unit-Tests in C++
- 4. Private Klasse Unit-Tests
- 5. Unit Tests mit Automake
- 6. Automatisches Generieren von Unit-Tests
- 7. Unit Tests Abhängigkeit Injektion
- 8. Unit-Tests Template-Code
- 9. Unit Tests nicht angezeigt
- 10. Running Unit-Tests parallel
- 11. Unit-Tests Konstruktor Injektion
- 12. Unit Tests HTTP-Handler?
- 13. Frühling jdbcTemplate Unit-Tests
- 14. Unit-Tests Facebook-Anwendungen
- 15. Unit-Tests mit Rust
- 16. Unit-Tests benutzerdefinierte UIView
- 17. Unit-Tests in Ember.js
- 18. AngularJS Jasmine Unit Tests
- 19. AngularJS Route Unit-Tests
- 20. Unit-Tests Befehl kill
- 21. Unit-Tests Ausnahme Eigenschaft
- 22. C# Unit-Tests Frage
- 23. C# Unit-Tests mit Sockets
- 24. Java File IO Schreiben
- 25. Rake läuft nicht Unit Tests
- 26. Java IO Leistung Ausgabe
- 27. Unmarshalling eines XmlType für Unit-Tests in Java
- 28. Laufende Groovy Unit Tests in Ant für ein Java-Projekt
- 29. Auto-Generating Unit-Tests für älteren Java-Code
- 30. Resharper Unit Tests laufen nicht
http://stackoverflow.com/help/mcve – theblindprophet
Entweder können Sie das Methodenpaket lokal erstellen oder Sie können sie testen, indem Sie die öffentlichen Methoden aufrufen. –