1. ByteArrayOutputStream에 출력물담기
2. assertThat(msg.toString.contain)로 비교하면된다.
package christmas.view;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
class OutputViewTest {
private static ByteArrayOutputStream outputMessage;
@BeforeEach
void setUpStreams() {
outputMessage = new ByteArrayOutputStream(); // OutputStream 생성
System.setOut(new PrintStream(outputMessage)); // 생성한 OutputStream 으로 설정
}
@AfterEach
void restoresStreams() {
System.setOut(System.out); // 원상복귀
}
@Test
void 메뉴출력테스트() {
OutputView.printOrderList(new String[]{"티파스-1", "제로콜라-1"});
Assertions.assertThat(outputMessage.toString().contains("<주문 메뉴>\n티파스 1개\n제로콜라 1개"));
}
}
'Java' 카테고리의 다른 글
우테코 xml 적용방법 (0) | 2023.11.11 |
---|