org.springframework.util ํจํค์ง์ StringUtils ํด๋์ค์๋ ์์ฝ๊ฒ ๋ฌธ์์ด์ ๋ค๋ฃฐ ์ ์๋ ๋ค์ํ ๋ฉ์๋๋ฅผ ์ ๊ณตํ๊ณ ์์ต๋๋ค. ์ด๋ฒ ๊ฒ์๊ธ์์๋ StringUtils์์ ์ ๊ณตํ๋ ๋ฌธ์์ด์ ํ์์ ์ฒดํฌํ ์ ์๋ ๋ช ๊ฐ์ง ๋ฉ์๋์ ๋ํด์ ์ ๋ฆฌํด ๋ณด๊ฒ ์ต๋๋ค.
StringUtils์ ๋ชจ๋ ๋ฉ์๋๋ ์๋์ ๊ณต์ ๋ฌธ์์์ ํ์ธ ๊ฐ๋ฅํฉ๋๋ค.
1. isEmpty()
๋ฌธ์์ด์ด null์ธ์ง ""์ธ์ง ํ์ธํฉ๋๋ค.
@Test
@DisplayName("isEmpty")
public void isEmptyTest() {
assertTrue(StringUtils.isEmpty(null));
assertTrue(StringUtils.isEmpty(""));
assertFalse(StringUtils.isEmpty(" ")); // ๊ณต๋ฐฑ์ False
}
2. hasLength()
๋ฌธ์์ด์ด null์ธ์ง ""์ธ์ง ํ์ธํฉ๋๋ค.
isEmpty()๋ " "์ ๊ฐ์ ๊ณต๋ฐฑ ๋ฌธ์์ด์ ๊ดํด False๋ฅผ ๋ฐํํ๋ ๋ฐ๋ฉด hasLength()๋ True๋ฅผ ๋ฐํํฉ๋๋ค.
isEmpty() ๊ฐ์ ๊ฒฝ์ฐ ํ์ฌ Deprecated ๋์ด ์์ผ๋ฉฐ, ๊ณต์๋ฌธ์์์๋ hasLength()๋ฅผ ์ฌ์ฉํ๊ฑฐ๋, hasText()๋ฅผ ์ฌ์ฉํ๋๋ก ๊ถ์ฅํ๊ณ ์์ต๋๋ค.
@Test
@DisplayName("hasLength")
public void hasLengthTest() {
assertTrue(StringUtils.hasLength("๊ธธ์ด๋ฅผ ๊ฐ์ง๊ณ ์์"));
assertTrue(StringUtils.hasLength(" ")); // ๊ณต๋ฐฑ์ True
assertFalse(StringUtils.hasLength(""));
assertFalse(StringUtils.hasLength(null));
}
3. hasText()
๋ฌธ์์ด์ด ์ง์ ํ Textํํ์ธ์ง ํ์ธํฉ๋๋ค. ์ฆ, null์ ํฌํจํด์ ๊ณต๋ฐฑ๋ง ์กด์ฌํ๋ค๋ฉด False๋ฅผ ๋ฐํํฉ๋๋ค.
hasText()๊ฐ ๊ต์ฅํ ์ ์ฉํ๋ค๊ณ ์๊ฐ๋๋๋ฐ, ์ด๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ๋ฐ๋ฅธ ๋ฌธ์์ด์ธ์ง if๋ฌธ์ ๋ฒ๋ฒ
์ผ๋ก ์ฌ์ฉํ์ง ์์๋ ๊ฒ์ฆํ ์ ์์ต๋๋ค.
@Test
@DisplayName("hasText")
public void hasTestTest() {
assertTrue(StringUtils.hasText("๋ฌธ์์ด"));
assertFalse(StringUtils.hasText(""));
assertFalse(StringUtils.hasText(" ")); // ๊ณต๋ฐฑ์ False
assertFalse(StringUtils.hasText(null));
}
4. containsWhitespace()
๋ฌธ์์ด์ด ๊ณต๋ฐฑ์ ํฌํจํ๊ณ ์๋์ง ์๋์ง๋ฅผ ๊ฒ์ฆํฉ๋๋ค.
@Test
@DisplayName("containsWhitespace")
public void containsWhitespaceTest() {
/*
hasLength()๋ฅผ ๋จผ์ ํธ์ถ ํ, True์ผ์ ๊ณต๋ฐฑ์ ์ฒดํฌํฉ๋๋ค.
*/
assertTrue(StringUtils.containsWhitespace("๊ณต๋ฐฑ์ ํฌํจํ๊ณ ์์ต๋๋ค."));
assertFalse(StringUtils.containsWhitespace("๊ณต๋ฐฑ์ํฌํจํ์ง์๊ณ ์์ต๋๋ค."));
assertFalse(StringUtils.containsWhitespace(""));
assertFalse(StringUtils.containsWhitespace(null));
}
5. trimLeadingWhitespace()
๋ฌธ์์ด ์์ ๊ณต๋ฐฑ์ ์ ๊ฑฐํฉ๋๋ค.
@Test
@DisplayName("trimLeadingWhitespace")
public void trimLeadingWhitespaceTest() {
assertThat("๋ฌธ์์ด ์์ ๊ณต๋ฐฑ์ ์ ๊ฑฐํ์ต๋๋ค.").isEqualTo(StringUtils.trimLeadingWhitespace(" ๋ฌธ์์ด ์์ ๊ณต๋ฐฑ์ ์ ๊ฑฐํ์ต๋๋ค."));
}
6. trimTrailingWhitespace()
๋ฌธ์์ด ๋ค์ ๊ณต๋ฐฑ์ ์ ๊ฑฐํฉ๋๋ค.
@Test
@DisplayName("trimTrailingWhitespace")
public void trimTrailingWhitespaceTest() {
assertThat("๋ฌธ์์ด ๋ค์ ๊ณต๋ฐฑ์ ์ ๊ฑฐํ์ต๋๋ค.").isEqualTo(StringUtils.trimTrailingWhitespace("๋ฌธ์์ด ๋ค์ ๊ณต๋ฐฑ์ ์ ๊ฑฐํ์ต๋๋ค. "));
}
7. trimWhitespace()
๋ฌธ์์ด ์ ๋ค์ ๊ณต๋ฐฑ์ ์ ๊ฑฐํฉ๋๋ค.
@Test
@DisplayName("trimWhitespace")
public void trimWhitespaceTest() {
assertThat("๋ฌธ์์ด ์๋ค๋ก ๊ณต๋ฐฑ์ ์ ๊ฑฐํ์ต๋๋ค.").isEqualTo(StringUtils.trimWhitespace(" ๋ฌธ์์ด ์๋ค๋ก ๊ณต๋ฐฑ์ ์ ๊ฑฐํ์ต๋๋ค. "));
}
8. trimAllWhitespace()
๋ฌธ์์ด์ ๋ชจ๋ ๊ณต๋ฐฑ์ ์ ๊ฑฐํฉ๋๋ค.
@Test
@DisplayName("trimAllWhitespace")
public void trimAllWhitespace() {
assertThat("๋ฌธ์์ด์๋ชจ๋ ๊ณต๋ฐฑ์์ ๊ฑฐํ์ต๋๋ค.").isEqualTo(StringUtils.trimAllWhitespace(" ๋ฌธ์์ด์ ๋ชจ๋ ๊ณต๋ฐฑ์ ์ ๊ฑฐํ์ต๋๋ค."));
}
9. trimLeadingCharacter()
๋ฌธ์์ด์์ ์ ํ ๊ธ์๋ฅผ ํ๋ ์ ๊ฑฐํฉ๋๋ค.
@Test
@DisplayName("trimLeadingCharacter")
public void trimLeadingCharacterTest() {
assertThat("๋ณํ์ ๊ฑฐ").isEqualTo(StringUtils.trimLeadingCharacter("*๋ณํ์ ๊ฑฐ", '*'));
}
10. trimTrailingCharacter()
๋ฌธ์์ด์ ํํ ๊ธ์๋ฅผ ํ๋ ์ ๊ฑฐํฉ๋๋ค.
@Test
@DisplayName("trimTrailingCharacter")
public void trimTrailingCharacterTest() {
assertThat("๋ณํ์ ๊ฑฐ").isEqualTo(StringUtils.trimTrailingCharacter("๋ณํ์ ๊ฑฐ*", '*'));
}
11. countOccurrencesOf()
๋ฌธ์์ด์์ ์ง์ ํ ๊ธ์๊ฐ ๋ช ๊ฐ๊ฐ ๋์ค๋์ง ๊ฒ์ฌํฉ๋๋ค.
@Test
@DisplayName("countOccurrencesOf")
public void countOccurrencesOfTest() {
assertThat(StringUtils.countOccurrencesOf("apple", "p")).isEqualTo(2);
assertThat(StringUtils.countOccurrencesOf("apple", "c")).isEqualTo(0);
}
12. startWithIgnoreCase()
๋ฌธ์์ด์ด ์ง์ ํ ๋ฌธ์์ด๋ก ์์ํ๋์ง ๊ฒ์ฌํฉ๋๋ค.
@Test
@DisplayName("startWithIgnoreCase")
public void startWithIgnoreCaseTest() {
assertTrue(StringUtils.startsWithIgnoreCase("010-1234-5678", "010"));
assertFalse(StringUtils.startsWithIgnoreCase("011-1234-5678", "010"));
}
13. endsWithIgnoreCase()
๋ฌธ์์ด์ด ์ง์ ํ ๋ฌธ์์ด๋ก ๋๋๋์ง ๊ฒ์ฌํฉ๋๋ค.
@Test
@DisplayName("endsWithIgnoreCase")
public void endsWithIgnoreCaseTest() {
assertTrue(StringUtils.endsWithIgnoreCase("010-1234-5678", "5678"));
assertFalse(StringUtils.endsWithIgnoreCase("010-1234-5678", "1234"));
}
์ ์ฒด ์ฝ๋
package com.example.javapractice;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.util.StringUtils;
import static org.assertj.core.api.Assertions.*;
import static org.junit.jupiter.api.Assertions.*;
@SpringBootTest
class JavapracticeApplicationTests {
@Test
@DisplayName("isEmpty")
public void isEmptyTest() {
assertTrue(StringUtils.isEmpty(null));
assertTrue(StringUtils.isEmpty(""));
assertFalse(StringUtils.isEmpty(" ")); // ๊ณต๋ฐฑ์ False
}
@Test
@DisplayName("hasLength")
public void hasLengthTest() {
assertTrue(StringUtils.hasLength("๊ธธ์ด๋ฅผ ๊ฐ์ง๊ณ ์์"));
assertTrue(StringUtils.hasLength(" ")); // ๊ณต๋ฐฑ์ True
assertFalse(StringUtils.hasLength(""));
assertFalse(StringUtils.hasLength(null));
}
@Test
@DisplayName("hasText")
public void hasTestTest() {
assertTrue(StringUtils.hasText("๋ฌธ์์ด"));
assertFalse(StringUtils.hasText(""));
assertFalse(StringUtils.hasText(" ")); // ๊ณต๋ฐฑ์ False
assertFalse(StringUtils.hasText(null));
}
@Test
@DisplayName("containsWhitespace")
public void containsWhitespaceTest() {
/*
hasLength()๋ฅผ ๋จผ์ ํธ์ถ ํ, True์ผ์ ๊ณต๋ฐฑ์ ์ฒดํฌํฉ๋๋ค.
*/
assertTrue(StringUtils.containsWhitespace("๊ณต๋ฐฑ์ ํฌํจํ๊ณ ์์ต๋๋ค."));
assertFalse(StringUtils.containsWhitespace("๊ณต๋ฐฑ์ํฌํจํ์ง์๊ณ ์์ต๋๋ค."));
assertFalse(StringUtils.containsWhitespace(""));
assertFalse(StringUtils.containsWhitespace(null));
}
@Test
@DisplayName("trimLeadingWhitespace")
public void trimLeadingWhitespaceTest() {
assertThat("๋ฌธ์์ด ์์ ๊ณต๋ฐฑ์ ์ ๊ฑฐํ์ต๋๋ค.").isEqualTo(StringUtils.trimLeadingWhitespace(" ๋ฌธ์์ด ์์ ๊ณต๋ฐฑ์ ์ ๊ฑฐํ์ต๋๋ค."));
}
@Test
@DisplayName("trimTrailingWhitespace")
public void trimTrailingWhitespaceTest() {
assertThat("๋ฌธ์์ด ๋ค์ ๊ณต๋ฐฑ์ ์ ๊ฑฐํ์ต๋๋ค.").isEqualTo(StringUtils.trimTrailingWhitespace("๋ฌธ์์ด ๋ค์ ๊ณต๋ฐฑ์ ์ ๊ฑฐํ์ต๋๋ค. "));
}
@Test
@DisplayName("trimWhitespace")
public void trimWhitespaceTest() {
assertThat("๋ฌธ์์ด ์๋ค๋ก ๊ณต๋ฐฑ์ ์ ๊ฑฐํ์ต๋๋ค.").isEqualTo(StringUtils.trimWhitespace(" ๋ฌธ์์ด ์๋ค๋ก ๊ณต๋ฐฑ์ ์ ๊ฑฐํ์ต๋๋ค. "));
}
@Test
@DisplayName("trimAllWhitespace")
public void trimAllWhitespace() {
assertThat("๋ฌธ์์ด์๋ชจ๋ ๊ณต๋ฐฑ์์ ๊ฑฐํ์ต๋๋ค.").isEqualTo(StringUtils.trimAllWhitespace(" ๋ฌธ์์ด์ ๋ชจ๋ ๊ณต๋ฐฑ์ ์ ๊ฑฐํ์ต๋๋ค."));
}
@Test
@DisplayName("trimLeadingCharacter")
public void trimLeadingCharacterTest() {
assertThat("๋ณํ์ ๊ฑฐ").isEqualTo(StringUtils.trimLeadingCharacter("*๋ณํ์ ๊ฑฐ", '*'));
}
@Test
@DisplayName("trimTrailingCharacter")
public void trimTrailingCharacterTest() {
assertThat("๋ณํ์ ๊ฑฐ").isEqualTo(StringUtils.trimTrailingCharacter("๋ณํ์ ๊ฑฐ*", '*'));
}
@Test
@DisplayName("countOccurrencesOf")
public void countOccurrencesOfTest() {
assertThat(StringUtils.countOccurrencesOf("apple", "p")).isEqualTo(2);
assertThat(StringUtils.countOccurrencesOf("apple", "c")).isEqualTo(0);
}
@Test
@DisplayName("startWithIgnoreCase")
public void startWithIgnoreCaseTest() {
assertTrue(StringUtils.startsWithIgnoreCase("010-1234-5678", "010"));
assertFalse(StringUtils.startsWithIgnoreCase("011-1234-5678", "010"));
}
@Test
@DisplayName("endsWithIgnoreCase")
public void endsWithIgnoreCaseTest() {
assertTrue(StringUtils.endsWithIgnoreCase("010-1234-5678", "5678"));
assertFalse(StringUtils.endsWithIgnoreCase("010-1234-5678", "1234"));
}
}
'BackEnd๐ฑ > Spring' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Actuator Refresh ๋ฐ์ ์๋๋ ํ์ ํด๊ฒฐ (2) | 2022.11.12 |
---|---|
Actuator dependency and Swagger Stater 3.0.0 ์ถฉ๋ ์๋ฌ (0) | 2022.11.11 |
JUnit5 ์์ธํ ์์๋ณด๊ธฐ (3) | 2022.10.02 |
AssertJ ํต์ฌ ๊ธฐ๋ฅ ์์๋ณด๊ธฐ (1) | 2022.08.08 |
[Querydsl] unable to load class com.mysema.codegen.model.type'. error (1) | 2022.07.31 |
[Spring] [BaseTimeEntity, JPA Auditing]์ ํตํ ์์ฑ์๊ฐ/์์ ์๊ฐ ์๋ํ (1) | 2022.05.22 |
๋๊ธ