Notice
Recent Posts
Link
Today
Total
10-06 00:17
๊ด€๋ฆฌ ๋ฉ”๋‰ด

dingdong coding

[ JUnit5 ] ์˜ˆ์™ธ ํ…Œ์ŠคํŠธ ๋ณธ๋ฌธ

๐Ÿช„TEST Code

[ JUnit5 ] ์˜ˆ์™ธ ํ…Œ์ŠคํŠธ

๐Ÿถ ๊ฐœ๋ฐœ๊ฐœ๋ฐœ ๐Ÿพ 2022. 6. 17. 11:39

spring-boot-starter-web์„ ์„ ํƒํ–ˆ๋‹ค๋ฉด ์ž๋™์œผ๋กœ spring-boot-starter-test ์˜์กด์„ฑ์ด ์ถ”๊ฐ€๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค.

spring-boot-starter์— junit5๊ฐ€ ์žˆ์–ด ๋ฐ”๋กœ junit5๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

build.gradle > dependecies

testImplementation 'org.springframework.boot:spring-boot-starter-test'

RuntimeException์ด ๋ฐœ์ƒํ•˜๋Š” ๋ฉ”์„œ๋“œ

public class DoSomething {
    public static void func() {
        throw new RuntimeException("some exception message...");
    }
}

1. assertThrows

Assertions.assertThrows์˜ ๋‘ ๋ฒˆ์งธ ์ธ์ž์ธ DoSomething.func()๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์ฒซ ๋ฒˆ์งธ ์ธ์ž์ธ ์˜ˆ์™ธ ํƒ€์ž…๊ณผ ๊ฐ™์€์ง€(ํ˜น์€ ์บ์ŠคํŒ…์ด ๊ฐ€๋Šฅํ•œ ์ƒ์† ๊ด€๊ณ„์˜ ์˜ˆ์™ธ์ธ์ง€) ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค.

import static org.junit.jupiter.api.Assertions.assertThrows;
 
@Test
public void junit5์—์„œ_exception_ํ…Œ์ŠคํŠธ_1() {
    Assertions.assertThrows(RuntimeException.class, () -> {
        DoSomething.func();
    });
}

2. try~catch๋ฌธ assertEquals

์˜ˆ์™ธ ๋ฉ”์„ธ์ง€๋Š” ๋ณ€ํ•˜๊ธฐ ์‰ฌ์šด ๊ฐ’์ด๊ธฐ ๋•Œ๋ฌธ์— ํ…Œ์ŠคํŠธํ•˜๋ฉด ๊นจ์ง€๊ธฐ ์‰ฌ์šด ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฏ€๋กœ ํ…Œ์ŠคํŠธ ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ( ์ฝ”๋“œํ˜• ์‘๋‹ต ๋ฉ”์‹œ์ง€์˜ ๊ฒฝ์šฐ์—๋Š” ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. )

mport static org.junit.jupiter.api.Assertions.assertThrows;
 
@Test
public void junit5์—์„œ_exception_ํ…Œ์ŠคํŠธ_3() {
    try {
        DoSomething.func();
    } catch (RuntimeException e) {
        Assertions.assertEquals("some exception message...", e.getMessage());
    }
}

3. assertThrows ๋ฐ˜ํ™˜๊ฐ’ ์‚ฌ์šฉ

assertThrows๋Š” ๋ฐœ์ƒํ•˜๋Š” ์˜ˆ์™ธ๋ฅผ ๋ชจ๋“  ํด๋ž˜์Šค์˜ ์„ ์กฐ ํด๋ž˜์Šค์ธ Throwable ํƒ€์ž…์œผ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. 

Throwable๋กœ ๋ฐ˜ํ™˜๋œ ๋ฉ”์„œ๋“œ์—์„œ ๋ฐœ์ƒํ•œ ์˜ˆ์™ธ ๊ฐ์ฒด์˜ ๋ฉ”์‹œ์ง€๋ฅผ ํ†ตํ•˜์—ฌ ์˜ˆ์™ธ ๋ฉ”์‹œ์ง€ ํ…Œ์ŠคํŠธ๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

@Test
public void junit5์—์„œ_exception_ํ…Œ์ŠคํŠธ_4() {
    Throwable exception = assertThrows(RuntimeException.class, () -> {
        DoSomething.func();
    });
    assertEquals("some exception message...", exception.getMessage());
}

 

ํ•™์Šต์— ๋งŽ์€ ๋„์›€์ด ๋œ ๋ธ”๋กœ๊ทธ ๋งํฌ๋ฅผ  ์ฐธ์กฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ™‚

 

์ฐธ์กฐ ๋ฐ ์ถœ์ฒ˜

์™„๋ฒฝ์ •๋ฆฌ! Junit5๋กœ ์˜ˆ์™ธ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐฉ๋ฒ•

์ฝ”๋“œ ์ถœ์ฒ˜

Comments