사용자 입출력 캡쳐하기
카테고리: Java
업데이트:
안녕하세요 이번에 우테코 프리코스를 진행하면서 테스트 케이스를 만들 때 출력한 결과를 가져와야 하는 경우가 있었습니다.
ApplicationTest의 경우는 우테코에서 제공하는 output()이라는 메서드를 호출 해 출력을 캡쳐하는 코드가 있는데 NsTest라는 우테코 테스트 클래스를 상속 받아야 사용이 가능하도록 구현되어있습니다.
하지만 다른 테스트 클래스를 구현하며 NsTest 클래스를 상속하지 않고 Output을 캡쳐해보고자 정리해보려고 합니다.
private OutputStream captor;
@BeforeEach
protected final void init() {
// Output Stream 설정하기
captor = new ByteArrayOutputStream();
System.setOut(new PrintStream(captor));
}
...
void readOutput() {
String output = captor.toString();
...
}
댓글남기기