我认为你没有正确模拟/初始化
TitleService
这就是为什么你得到
500
响应代码。
你可以通过嘲笑
服务
并将其传递给您的测试控制器:
@RunWith(SpringJUnit4ClassRunner.class)
public class TitleControllerTest {
private MockMvc mockMvc;
private TitleController underTest;
@Mock
private TitleService titleService;
@Before
public void init() {
underTest = new TitleController(titleService);
//DO THE MOCKING ON TITLE SERVICE
// when(titleService.getTitleByType()) etc.
mockMvc = MockMvcBuilders
.standaloneSetup(underTest)
.build();
}
//your tests
}
或:
@RunWith(SpringRunner.class)
@WebMvcTest(TitleController.class)
@EnableSpringDataWebSupport
public class TitleControllerTest {
@Autowired
private MockMvc mockMvc;
@Autowired
private TitleController titleController;
@MockBean
private TitleService titleService;
@Before
public void init() {
titleController.setTitleService(titleService);
//DO THE MOCKING ON TITLE SERVICE
// when(titleService.getTitleByType()) etc.
}
//your tests
}