PowerMockito возвращает пустой объект для статического метода

#java #mockito #powermockito

#java #mockito #powermockito

Вопрос:

У меня есть класс-обработчик, который отвечает за создание пользователя

User user = UserUtil.create(dbs, dba, jo, user);

Я использую приведенный ниже фрагмент кода для моделирования статического метода, но он всегда возвращается null .

 @PrepareForTest({ UserHandler.class,UserUtil.class,ModelUtil.class,User.class })
    @Test
    public void testCreate() {
        try {
            
            DBSession dbSession = mock(DBSession.class);
            DBAdmin admin = mock(DBAdmin.class);

            //private static method execution
            PowerMockito.mockStatic(UserUtil.class);
            PowerMockito.doReturn(userList).when(UserUtil.class,"getUserWithEmailid",new DBSession("testOrg"),admin, request.getParamJo(), jsonString);
            PowerMockito.doNothing().when(UserUtil.class,"validateRoleLeval",new DBSession("testOrg"),9990);

            //public static method execution
            PowerMockito.spy(UserUtil.class);
            PowerMockito.doReturn(jsonString).when(UserUtil.class,"create",dbSession,admin, request.getParamJo(), jsonString);
            
            UserHandler handler = new UserHandler();
            ZResponse response = handler.create(request);
 

Я не мог понять, что не так с приведенным выше кодом.