UnsupportedOperationException은 수행할 수 없는 작업을 했을 때 발생하는 에러다.
불변 컬렉션의 수정, 삭제, 추가 등 내부 데이터를 변경하려고 할 때 발생하는 에러다.
이 에러로 무엇을 할 수 있을까?
@DisplayName("미션을 깊은 복사로 수정할 수 없는지 테스트")
@Test
void isCorrectCreateMission() {
List<String> fixedMission = missionMachine.getMission();
assertThatThrownBy(() -> fixedMission.add("콩나물"))
.isInstanceOf(UnsupportedOperationException.class);
}
나는 진짜 깊은 복사로 객체 내부를 수정할 수 없는지 궁금했다.
그 궁금증을 해결하기 위해 임의로 값 내부를 수정하도록 테스트 코드를 작성하고
UnsupportedOperationException이 발생하는지 확인해봤다.
테스트 결과는 성공이었고 올바르게 에러가 발생한다.
이로써 깊은 복사를 했다고 생각하지만 정말 내부 데이터에 접근해서 변경할 수 없는지
직접 확인해볼 수 있게 된다.
'우테코 프리코스 > 프리코스 오픈미션' 카테고리의 다른 글
| [프리코스] 오픈 미션 회고 (0) | 2025.11.29 |
|---|---|
| .idea 폴더는 왜 올리면 안될까? (0) | 2025.11.24 |
| assertJ를 사용하기 위한 의존성 추가 (0) | 2025.11.23 |
| 자바 isEmpty()와 isBlank()의 차이 (0) | 2025.11.23 |
| 생성자의 파라미터가 너무 많아서 가독성이 안좋을 때는 어떡할까? (0) | 2025.11.23 |