jeudi 25 février 2021

Handling of TimerService in Weld-Junit

I'm trying to setup a Weld-JUnit4 Test for a JavaEE Bean which uses a TimerService. The Application runs in a Wildfly Application Server an So the TimerService is injected into the bean via @ResourceAnnotation.

In Weld-JUnit I have to bind Resources via:
WeldInitiator.from(<Some class).bindResource(nameOfRessource, <TimerServiceMock>)

But this doesn't work. The mock will not be injected. So I tried @Resouce(name = "myTimer")in the JEE Bean. This doesn't work too. So I tried @Resouce(lookup = "myTimer")in the JEE Bean. This works in my Testcase. But in ProductionCode this will change the lookupbehaviour. So it is no valid solution.

How it is possible to Mock the TimerService in a WeldJunitTest? Is there any kind of default lookup for the java.ejb.TimerService?

Thank you for your help.

Aucun commentaire:

Enregistrer un commentaire