Ohne einen Container wie Spring (oder etwas wie Untils - das auf Spring basiert), müssen Sie den Entity Manager manuell injizieren . In diesem Fall könnten Sie etwa so etwas als Basisklasse verwenden:
%Vor% Es hängt von was Sie testen möchten. Wenn Sie eine komplexe Geschäftslogik in Ihrer Finder
-Klasse haben, möchten Sie vielleicht die EntityManager
vortäuschen - indem Sie ein spöttisches Framework wie EasyMock oder Mockito - um diese Logik zu testen.
Jetzt, da dies nicht der Fall ist, vermute ich, dass Sie die Persistenz der Entität Employee
testen wollen (dies wird oft als Integrationstest bezeichnet). Dies erfordert die Verwendung einer Datenbank. Um Tests zu vereinfachen und Ihre Tests portabel zu halten, können Sie zu diesem Zweck eine In-Memory-Datenbank wie die HSQLDB verwenden. Um HSQLDB zu starten, erstellen Sie einen Persistenzkontext und fügen Sie diesen Kontext in Ihre Finder-Klasse ein. Es empfiehlt sich daher, ein IoC-Framework wie Spring zu verwenden.
Es gibt Unmengen an Tutorials im Internet, die erklären, wie man JPA / Spring / HSQLDB benutzt. Sehen Sie sich dieses Beispielprojekt an: Integrationstests mit Maven 2, Spring 2.5, JPA, Hibernate und HSQLDB