Search This Blog

Saturday 28 January 2017

Unit testing AEM - Mocking with Mockito


Documentation - http://mockito.github.io/mockito/docs/current/org/mockito/Mockito.html
Mockito is a Java mocking library which is very useful in unit testing but also to simplify and enhance the integration tests.


Mockito Example –
 
Public class MyService{
Public String readData(ResourceResolverresolver, String path) {
Resourcer= resolver.getResource(path);
returnr== null? null: r.adaptTo(String.class);
}
}

@Test
publicvoidtestReadData() {
ResourceResolverresolver= mock(ResourceResolver.class);
Resourcer src= mock(Resource.class);
when(resolver.getResource("/content/data/testdata")).thenReturn(rsrc);
when(rsrc.adaptTo(String.class)).thenReturn("OK");
MyServiceservice= newMyService();
assertEquals("OK", service.readData(resolver, "/content/data/testdata"));
}

OR  use @mock annotation and mock using initmocks().
public class TestBaseListModel {

    @Mock
    private ResourceResolver resourceResolver;

    @Mock
    private PageManager pageManager;

    @Mock
    private LinkBean linkBean;

    @Mock
    private Resource resource;

    @Before
    public void setUp() throws Exception {
        MockitoAnnotations.initMocks(this);
                             ….



No comments:

Post a Comment