상황설정
- 중복되지 않는 임의의 문자열을 요청 파라미터에 설정해주세요.
- 문자열의 길이는 20 입니다.
단위테스트
int randomStrLen = 0;
@BeforeEach
void initRandomStrLen() {
randomStrLen = 20;
}
1. Random.nextBoolean 활용
@Test
void createRandomStrUsingRandomBoolean() {
Random random = new Random();
StringBuffer randomBuf = new StringBuffer();
for (int i = 0; i < randomStrLen; i++) {
if (random.nextBoolean()) {
randomBuf.append((char)((int)(random.nextInt(26)) + 97));
} else {
randomBuf.append(random.nextInt(10));
}
}
String randomStr = randomBuf.toString();
System.out.println("[createRandomStrUsingRandomBoolean] randomStr : " + randomStr);
assertEquals(getStrLen(randomStr), randomStrLen);
}
2. RandomStringUtils.random 활용
@Test
void createRandomStrUsingUtilsRand() {
boolean useLetters = true;
boolean useNumbers = true;
String randomStr = RandomStringUtils.random(randomStrLen, useLetters, useNumbers);
System.out.println("[createRandomStrUsingUtilsRand] randomStr : " + randomStr);
assertEquals(getStrLen(randomStr), randomStrLen);
}
3. RandomStringUtils.randomAlphanumeric 활용
@Test
void createRandomStrUsingUtilsRandomAlphanumeric() {
String randomStr = RandomStringUtils.randomAlphanumeric(randomStrLen);
System.out.println("[createRandomStrUsingUtilsRandomAlphanumeric] randomStr : " + randomStr);
assertEquals(getStrLen(randomStr), randomStrLen);
}
참고
- import org.apache.commons.lang3.RandomStringUtils;