Java
[JUnit]System.out.println ()의 단위 테스트 예제
까오기
2021. 5. 7. 14:31
콘솔에 출력한 내용을 테스트하는 예제 입니다.
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import java.util.function.Consumer;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
public class SysoutTest {
final ByteArrayOutputStream outputStreamCaptor = new ByteArrayOutputStream();
final PrintStream standardOut = System.out;
@BeforeEach
void setUp() {
System.setOut(new PrintStream(outputStreamCaptor));
}
@AfterEach
void tearDown() {
System.setOut(standardOut);
}
@Test
void consumer() {
String name = "까오기";
Consumer<String> c = nm -> System.out.println(nm+"님 안녕하세요.");
c.accept(name);
assertEquals("까오기님 안녕하세요.", outputStreamCaptor.toString().trim());
}
}
예제 만으로 충분할 거 같아 설명은 생략합니다.