Подтвердить что ты не робот

Тестирование частного метода с использованием power mock, который возвращает список целых чисел

У меня есть частный метод, который принимает список целочисленного значения, возвращает мне список целочисленного значения. Как я могу использовать power mock для его проверки. Я новичок в powermock. Могу ли я сделать тест с легким макетом.? как..

4b9b3361

Ответ 1

Из документация в разделе "Общедоступная обходная инкапсуляция":

Использовать метод Whitebox.invokeMethod(..) для вызова частного метода экземпляр или класс.

Вы также можете найти примеры в том же разделе.

Ответ 2

Вот полный пример, как это сделать:

import java.util.ArrayList;
import java.util.List;

import org.junit.Assert;
import org.junit.Test;
import org.powermock.reflect.Whitebox;

class TestClass {
    private List<Integer> methodCall(int num) {
        System.out.println("Call methodCall num: " + num);
        List<Integer> result = new ArrayList<>(num);
        for (int i = 0; i < num; i++) {
            result.add(new Integer(i));
        }
        return result;
    }
}

 @Test
 public void testPrivateMethodCall() throws Exception {
     int n = 10;
     List result = Whitebox.invokeMethod(new TestClass(), "methodCall", n);
     Assert.assertEquals(n, result.size());
 }

Ответ 3

Whitebox.invokeMethod(myClassToBeTestedInstance, "theMethodToTest", expectedFooValue);