[트러블슈팅] 4. 내가 모르는 코드는 분리해서 테스트 한다

최재원's avatar
Mar 24, 2025
[트러블슈팅] 4. 내가 모르는 코드는 분리해서 테스트 한다

1. 코드 오류를 어떻게 잡지?

원래 통합 코드에서 실행 시 오류가 났는데, 그걸 잡기 위해서는 테스트 코드를 하나 작성해서 그 부분만 확인해보는 것이 좋다.
그리고 내가 코드를 작성할 때도, 한번에 다 작성해서 실행하는 것보다, 작성된 코드까지 잘 실행 되는 지를 검증하면서 나머지 코드를 작성하는 것이 좋다.
notion image
notion image

1. 코드의 결과를 잘 모를 경우

Test 파일을 만들어 부분 테스트를 해보자

  1. Map 자료형의 메서드 결과값을 잘 모를 경우
package ex20.ch05; import java.util.HashMap; import java.util.Map; public class MyTest { public static void main(String[] args) { Map<String, Object> map = new HashMap<>(); String respBody = (String) map.get("name"); System.out.println(respBody); } }
notion image
  1. String 자료형의 split메서드의 결과값을 잘 모를 경우
package ex20.ch05; import java.util.HashMap; import java.util.Map; public class MyTest02 { public static void main(String[] args) { String reqBody = "GET~name"; String[] method = reqBody.split(":"); System.out.println(method.length); System.out.println(method[0]); } }
notion image

2. 잘 안다고 생각했던 코드

package ex20.ch05; public class MyTest03 { public static void main(String[] args) { String msg = "age/20"; String key = msg.split("/")[0]; String value = msg.split("/")[1]; System.out.println(key); System.out.println(value); } }
notion image

잘 될 것이라고 생각했던 코드

package ex20.ch05; public class MyTest03 { public static void main(String[] args) { String msg = "age?20"; String key = msg.split("?")[0]; String value = msg.split("?")[1]; System.out.println(key); System.out.println(value); } }
notion image

역슬레시 2개를 넣으니 처리됨

이유는 나중에…
package ex20.ch05; public class MyTest03 { public static void main(String[] args) { String msg = "age?20"; String key = msg.split("\\?")[0]; String value = msg.split("\\?")[1]; System.out.println(key); System.out.println(value); } }
notion image
 
Share article

jjack1