测试随机盐法

问题描述 投票:0回答:3

我试图弄清楚如何用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);
}

我可以测试输出的长度是否与我使用该方法的整数一致,但是我想知道如何测试随机性,或者也许是我不需要做的事情?

java unit-testing random junit salt
3个回答
1
投票

您无法测试随机性,即使这是必需条件,也应超出范围(其复杂度要比实际测试的方法大得多。]]

实际上,您可以测试的是长度是否正确,只需测试两次此方法的调用是否随机。


1
投票

您可以测试生成的String是否与长度等于X的字母正则表达式匹配,您可以使用或启发该片段以下:


0
投票

如果您嘲笑SECURE是什么,则可以进行如下测试:

© www.soinside.com 2019 - 2024. All rights reserved.