Web
[JUnit] 출력이 안될 때
오즈마스터
2022. 7. 14. 16:03
JUnit 테스트 시 System.out.println() 함수가 먹히지 않을 때 대처법
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Before;
@SpringBootTest
class MyApplicationTests
{
private final ByteArrayOutputStream outContent = new ByteArrayOutputStream();
private final ByteArrayOutputStream errContent = new ByteArrayOutputStream();
private final PrintStream originalOut = System.out;
private final PrintStream originalErr = System.err;
@Before(value="log()")
public void setUpStreams()
{
System.setOut(new PrintStream(outContent));
System.setErr(new PrintStream(errContent));
}
@After(value="log()")
public void restoreStreams()
{
System.setOut(originalOut);
System.setErr(originalErr);
}
@Test
void testJpa()
{
System.out.println("testJpa() start~");
}
}
하지만, 다시 위의 코드를 없애도 출력은 여전히 정상적으로 나온다. 뭐가 문제였던걸까...