AEM mocks returns Null for @Reference objects | Community
Skip to main content
Parusharam
New Participant
October 23, 2018
Solved

AEM mocks returns Null for @Reference objects

  • October 23, 2018
  • 3 replies
  • 3281 views

I am trying to mock Querybuilder and resolverfactory in my test class but I am getting null always.

Main class:

@Reference

QueryBuilder builder;

@Reference

ResourceResoloverFactory resolverFactory;

Test class:

@Mock

  QueryBuilder builder;

setup(){

context.registerAdapter(ResourceResolver.class, QueryBuilder.class, builder);

when(builder.createQuery(any(PredicateGroup.class), any(Session.class))).thenReturn(query);

}

Suggest me how to mock @Reference objects in mockito.

Note: I am using Junit4 and mokito and AEM 6.2.

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by chandu_t

Inside setup() add below line first and then use when

Whitebox.setInternalState(mainClassObject, "builder", builder);

This will initialise builder with mock builder in that mainClassObject.

3 replies

joerghoh
Employee
October 23, 2018

It seems that you just register adapters, but not services.

chandu_t
chandu_tAccepted solution
New Participant
October 23, 2018

Inside setup() add below line first and then use when

Whitebox.setInternalState(mainClassObject, "builder", builder);

This will initialise builder with mock builder in that mainClassObject.