Если вы насмехаетесь над тем, что есть SECURE
, то можно проверить что-то вроде этого:
public static String getSalt(Secure secure, int length) {
StringBuilder returnValue = new StringBuilder(length);
for (int i = 0; i < length; i++) {
returnValue.append(ALPHABET.charAt(secure.nextInt(ALPHABET.length())));
}
return new String(returnValue);
}
тогда:
@Mock
Secure secure;
@Test
public void testSalt() {
// arrange
when(secure.nextInt(any()).thenReturn(0);
// act
String salted = getSalt(secure, 3);
// assert
assertEquals(salted, "AAA");
}
Это просто показывает, как stati c - это смерть для тестируемости , и как следование хорошей OOP практике, такой как передача зависимостей через конструкторы, может помочь в тестировании.