Es gibt noch andere Fragen zu diesem Thema, aber ich versuche herauszufinden, wie man Unit-Tests so etwas angehen kann:
%Vor%Dies ist mein Homespun-Sperrmechanismus (nur für Lernzwecke). Wie würde ich die Thread-Sicherheit davon testen? Ich weiß, dass es keine Garantien gibt, wenn es darum geht, simultanen Code zu testen, aber wie würde ich überhaupt einen Komponententest schreiben, der versucht, die offensichtlichen Invarianten dieses Locking-Mechanismus zu testen?
Ich denke, ich werde meine eigene Frage beantworten, seit ich recherchiert habe. Es gibt ein tolles Framework namens MultithreadedTC . Es ermöglicht Ihnen, Tests wie folgt einzurichten:
%Vor%wobei die Aufrufe waitForTick (int) den aktuellen Thread-Block bilden, bis das Häkchen erreicht ist. Es gab sogar einige Entwicklungen, um dies für eine bessere JUnit-Integration etwas moderner zu gestalten: Ссылка
Tags und Links java unit-testing