계산기 프로그램에서 Scanner를 통해 값을 입력받는 부분을 테스트코드로 작성해보자.
package org.example;
import java.util.Scanner;
public class CalculationRequestReader {
public String[] read() {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter two number and an operator (e.g 1 + 2): ");
String result = scanner.nextLine();
return result.split(" ");
}
}
테스트코드 작성
@Test
public void System_in으로_데이터를_읽어들일_수_있다(){
CalculationRequestReader calculationRequestReader = new CalculationRequestReader();
//when
System.setIn(new ByteArrayInputStream("2 + 3".getBytes()));
String[] result = calculationRequestReader.read();
assertEquals("2",result[0]);
assertEquals("+",result[1]);
assertEquals("3",result[2]);
}'Programing > Spring Boot' 카테고리의 다른 글
| SpringBoot @RequestBody 데이터 선택적으로 받기 (0) | 2023.07.04 |
|---|---|
| 코틀린 스프링부트 Querydsl 사용 예제 (0) | 2023.07.03 |
| Querydsl 동적 쿼리 사용하는 2가지 방법 (Builder, where절 파라미터) (0) | 2023.07.01 |
| SpringBoot 테스트코드 작성시 Security 권한 무시하는법 @PreAuthorize우회 하기 (0) | 2023.07.01 |
| Querydsl Pageable편하게 쓰기 확장함수, 유틸리티 (0) | 2023.07.01 |