Welche Frameworks würden Sie für das Schreiben von Komponententests für Multithreading-Code in Java empfehlen? Wenn Sie zum Beispiel ein Programm haben, das eine Reihe von Threads mit mehreren erlaubten Ausführungswegen und bestimmten ausgeschlossenen Pfaden ausführen soll (so wie die ausführbaren Einheiten 1, 2 und 3 parallel laufen können, sollten mindestens zwei ausgeführt werden) parallel und 4 muss immer nach 3 "laufen).Frameworks für Unittests für Multithreading in Java
Antwort
Ich empfehle, über JUnit @Rule
zu lesen, um sie für Parallelitätstests zu verwenden.
Ich empfehle ContiPerf2, da es ein sehr einfach zu bedienendes Framework ist. Obwohl ich nicht glaube, dass es die Möglichkeit bietet, Ausführungswege oder ähnliches zu deklarieren.
können Sie parametrisierte JUnit-Tests verwenden, wie hier beschrieben: http://junit.org/junit/javadoc/4.5/org/junit/runners/Parameterized.html
Aber Sie werden sich Thread Logik programmieren müssen, beispielsweise durch verschiedene Thread-Pools verwenden.
Sie können sich den Pfadfinder (http://javapathfinder.sourceforge.net/) ansehen, wenn Sie beweisen möchten, dass Ihr Code threadsicher ist.
Dieser Thread beschreibt einige allgemeine Ansätze zum Testen von gleichzeitigem Code.
Designing a Test class for a custom Barrier
Für spezifische Rahmenbedingungen, tempus-fugit hat einige JUnit rules to run things in parallel aber, wie oben vorgeschlagen, sind Sie Tests wahrscheinlich müssen mehr Logik enthalten.
- 1. GUI-Frameworks für Java
- 2. Unittests für Endlosschleife
- 3. mock php's Ressourcentyp für Unittests
- 4. Multithreading-Berechnungen in Java
- 5. Multithreading für Python Django
- 6. Multithreading für Perl-Code
- 7. Java Multithreading. Gleiche Werte für System.currentTimeMillis() in verschiedenen Threads
- 8. Java Multithreading
- 9. MVC-Frameworks für WPF
- 10. Frameworks für hacklang?
- 11. Java Multithreading in android
- 12. Warum brauche ich ein Spottframework für meine Unittests?
- 13. Java 8 Stream Multithreading
- 14. Java Multithreading, Sockets
- 15. So verwenden Sie SQLite: Speicher: Datenbank in Webpy für Unittests
- 16. Logging-Frameworks für Embedded Linux?
- 17. Unit Testing Frameworks für C
- 18. Clientseitige MVC-Frameworks für ClojureScript
- 19. Tools/APIs/Frameworks für Java Web-basierten Workflow
- 20. Multithreading für Callback-Funktion in C++
- 21. Java Validierungs-Frameworks
- 22. CSS-Frameworks für mobile Entwickler?
- 23. Dependency-Injection-Frameworks für .Net
- 24. Frontend Frameworks für RESTful Backend
- 25. Gibt es Java-Frameworks für die Analyse von Binärdateien?
- 26. Threads und Multithreading in Java
- 27. Verwenden von Multithreading in Java?
- 28. Multithreading Best Practices in Java
- 29. Was sind gute Docking-Frameworks für Java/Swing?
- 30. Präprozessordirektiven in .Net Core für mehrere Frameworks