Unable to inject a service in junit test cases to test a sling model (having an injection of service using @OSGiService annotation) | Adobe Higher Education
Skip to main content
HKesani
November 11, 2019
Resuelto

Unable to inject a service in junit test cases to test a sling model (having an injection of service using @OSGiService annotation)

  • November 11, 2019
  • 1 respuesta
  • 5973 visualizaciones

Hi All,

I recently started using AemMocks and am still exploring. In one of the requirements, Sling models are implemented all looks fine till now. I started unit testing the same using Aem Mocks.

Problem:

I am unable to inject the service reference into the test class using 'context.registerInjectActivateService'.I have gone through numerous reference documents online but nothing is helpful.

any help is appreciated.

Thanks,

Harshith.

Este tema ha sido cerrado para respuestas.
Mejor respuesta de ArpitVarshney

Hi HKesani,

Could you please give a try to below code to mock OSGi service?

Reference: https://wcm.io/testing/aem-mock/usage.html#Registering_OSGi_service

Regards,

Arpit Varshney

1 respuesta

ArpitVarshney
Community Advisor
ArpitVarshneyCommunity AdvisorRespuesta
Community Advisor
November 11, 2019

Hi HKesani,

Could you please give a try to below code to mock OSGi service?

Reference: https://wcm.io/testing/aem-mock/usage.html#Registering_OSGi_service

Regards,

Arpit Varshney

Level 8
May 28, 2023

Unfortunately, none of these methods work if the service you want to call calls another service. In this case, the first service fails with the error:

 

org.apache.sling.testing.mock.osgi.ReferenceViolationException: Unable to inject mandatory reference 'secondService' for class com.mycompany.core.services.impl.FirstServiceImpl : no matching services were found.