0

How do I test void method?

@Override
    public void insertUserDetails(String userData) throws JSONException {
        Map<String, Object> userDataMap = jsonUtil.convertJsonToMap(userData);
        dao.insertUserDetails(userDataMap);
    }

I have tried with many methods but i didn't get solution.

zappee
  • 20,148
  • 14
  • 73
  • 129

2 Answers2

1

You can cover your lines with Mockito.

Example:

@Mock
private Dao dao;

@Test
public void insertUserDetails() {

    when(jsonUtil.convertJsonToMap(any(UserData.class)).thenReturn(...);

    obj.insertUserDetails(...);

    verify(dao, times(1)).insertUserDetails(expected);
}
zappee
  • 20,148
  • 14
  • 73
  • 129
-1
@Test
    public void insertUserDetailsTest() throws JSONException{
        String userdata = "{\"name\":\"test1\",\"dept\":\"test1\",\"id\":1}";
        Mockito.doNothing().when(mdmdao).insertUserDetails(Mockito.anyMap());
        mdmserviceimpl.insertUserDetails(userdata);
        Mockito.verify(mdmdao,times(1)).insertUserDetails(Mockito.anyMap());
    }