getCommand,getParam,getIdParam- 명령어와 단일 인자(int/String )가 들어올 것으로 예상하여 작성
renew(Scanner sc, String fp)변경- 실제 실행과 테스트 시 파일 경로를 다르게 하기 위해 filePath를 매개변수로 받도록 변경
void updateArticle(String id)- ID에 해당하는 게시글을 검색하고, 존재할 경우 제목 및 내용 수정
void saveArticles()- 게시글 목록을 파일에 저장
void loadArticlesAndLastId()- 파일로부터 게시글과 lastId 불러오기
✅ 테스트 편의를 위해 아래 메서드들도 구현
void writeArticle(String title, String content)void listArticles()
void update(Article article, String title, String content)Article findById(int id)void save()void load()
✅ 테스트 편의를 위해 아래 메서드들도 구현
List<Article> list()void write(String title, String content)
Article findById(int id)void update(Article article, String title, String content)void save()- 폴더 없을 경우 생성
- 게시글 리스트를 정렬 후 저장
void load()- 파일 존재 여부 확인 후 데이터 로드
- 게시글 및
lastId설정
✅ 테스트 편의를 위해 아래 메서드들도 구현
List<Article> list()void write(String title, String content)int getLastId()lastId가 잘 로드되었는지 확인할 수 있도록 제공
@NoArgsConstructor추가- Jackson 역직렬화를 위해 기본 생성자 필요
run(String input, String filePath)추가- 테스트마다 파일 경로를 다르게 설정 가능
- filePath 지정하지 않은 테스트 케이스를 수정하지 않도록 오버로딩으로 구현
- 게시글 작성 후 수정 기능 검증
- 수정된 게시글 내용 확인
- 수정 시 예외 상황 처리 테스트
- ID 파싱 불가능한 경우
- 존재하지 않는 ID인 경우
- 매 테스트 전 파일 삭제
save()메서드를 통해 게시글을 파일에 저장하고, 내용 검증load()호출 시 파일로부터 데이터와 lastId가 정상적으로 불러와지는지 확인
jackson-databind라이브러리 사용implementation("com.fasterxml.jackson.core:jackson-databind:2.17.0")