Wenn man Klassen mit JUnit testen will, die in einem eigenem Thread laufen, hat man ein Problem. Diese Tests werden nicht komplett ausgeführt.
TestCase nimmt an, das der Testfall beendet ist, sobald der Aufruf der Methode run() des Threads beendet wurde. Der Thread läuft allerdings im allgemeinen noch weiter. D.h. der Test wird dann nicht komplett durchgeführt.
Um zu erreichen, dass der Test bzw. der Thread komplett ausgeführt wird, kann man join() aufrufen.