我试图弄清楚如何用JUnit测试此方法。此方法创建长度为x
的随机盐public static String getSalt(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);
}
我可以测试输出的长度是否与我使用该方法的整数一致,但是我想知道如何测试随机性,或者也许是我不需要做的事情?
您无法测试随机性,即使这是必需条件,也应超出范围(其复杂度要比实际测试的方法大得多。]]
实际上,您可以测试的是长度是否正确,只需测试两次此方法的调用是否随机。
您可以测试生成的String
是否与长度等于X的字母正则表达式匹配,您可以使用或启发该片段以下:
如果您嘲笑SECURE
是什么,则可以进行如下测试: