В настоящий момент я довольно посредственный в Java и новичок в JUnit, но я не могу найти ответ на этот вопрос в другом месте.
Я хочу использовать постоянную переменную, определенную в классе, который я тестирую, в самом тестовом примере Junit, но, поскольку это статический финал, он недоступен.
Класс, который я тестирую, выглядит следующим образом:
public class MyClass {
private static final int HSIZE = 7;
private static final int NUM_LOCS = 3;
.
.
.
void generateRandomLocations() {
Random rand = new Random();
String[] hPos = new String[NUM_LOCS];
for (int i=0; i<NUM_LOCS; i++) {
hPos[i] = Integer.toString(rand.nextInt(HSIZE));
}
setLocations(hPos);
}
}
Достаточно просто, и вроде бы все работает, но я хотел бы добавить тестовый пример в JUnit - что-то вродеследующее:
@Test
void testGenerateRandomLocations() {
MyClass mc = new MyClass();
mc.generateRandomLocations();
String[] check = mc.getLocations();
assertEquals(sadc.NUM_LOCS, check.length);
}
(геттер определен, я просто не включил его здесь для краткости)
Однако (конечно) sadc.NUM_LOCS недоступен, потому что он виден тольков MyClass.
Как я могу получить доступ к этому из теста JUnit (5)?