728x90
반응형
에러 로그
required: no arguments
found: java.lang.String,java.lang.Long
reason: actual and formal argument lists differ in length
에러 내용
delete() 메서드가 기대하는 매개변수의 개수와 실제 전달된 매개변수의 개수가 일치하지 않아 발생
delete() 메서드는 매개변수 없이 호출되어야 하는데 두 개의 매개변수인 String과 Long을 전달하고 있다.
기존 코드
@Test
@DisplayName("회원 삭제 테스트")
void delete() throws Exception {
// Given
Long memberId = 1L;
// When/Then
mockMvc.perform(delete("/wakuwaku/v1/members/{id}", memberId))
.andExpect(status().isOk());
// Verify
verify(memberService).deleteById(memberId);
}
/wakuwaku/v1/members/{id} 에서 에러
수정 코드
@Test
@DisplayName("회원 삭제 테스트")
void delete() throws Exception {
// Given
Long memberId = 1L;
// When/Then
mockMvc.perform(MockMvcRequestBuilders.delete("/wakuwaku/v1/members/{id}", memberId))
.andExpect(status().isOk());
// Verify
verify(memberService).deleteById(memberId);
}
위와 같이 수정해주면 된다.
목적과 기능은 같으나 MockMvcRequestBuilders를 사용하지 않으면 명시적이지 않아서, 해당 오류가 나오면 MockMvcRequestBuilders를 사용하여 해결하는 방법도 있다.
728x90
반응형