我想将 JUnit 测试套件添加到已经运行的 spring mvc 应用程序中。
我特别想测试控制器 API。
您可以推荐特定的程序吗?
我不想使用任何 spring-boot 库/解决方案。
提前致谢。
朱塞佩
我通常使用 JUnit 和 Mockito 测试控制器 API,如下所示。
@ExtendWith(MockitoExtension.class)
public class MemberApiControllerTest {
@Mock
private MemberService memberService;
@InjectMocks
private MemberApiController memberApiController;
private MockMvc mockMvc;
private ObjectMapper objectMapper;
@BeforeEach
public void setUp() {
mockMvc = MockMvcBuilders.standaloneSetup(memberApiController)
.build();
objectMapper = new ObjectMapper();
}
@Test
@DisplayName("Add Member Test")
public void addMemberTest() throws Exception {
//given
Member member = Member.builder()
.id("id")
.password("password")
.email("email")
.nick("nick")
.build();
//when
ResultActions resultActions = mockMvc.perform(post("/api/member")
.contentType(MediaType.APPLICATION_JSON_VALUE)
.content(objectMapper.writeValueAsString(member)));
//then
resultActions.andExpect(status().isOk());
verify(memberService, times(1)).addMember(any(Member.class));
}
}