You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Mockito编写SchedulerResource中createScheduler方法的空入参单元测试?

覆盖createScheduler方法else分支的单元测试实现方案

嘿,我来帮你搞定这个else分支的单元测试!你已经写好了入参非空的成功用例,现在要覆盖schedulerDTO为null的场景其实很简单,核心就是模拟一个不带有效请求体的POST请求,然后验证对应的响应结果。

具体测试代码实现

@Test
public void createScheduler_NullDto_Failure() throws Exception {
    // 发送POST请求,传入null作为请求体,触发schedulerDTO为null的分支
    mockMvc.perform(post("/linear/api/1.0/schedules")
                    .contentType(MediaType.APPLICATION_JSON)
                    .content((String) null))
            // 验证返回的HTTP状态码为NOT_FOUND
            .andExpect(status().isNotFound())
            // 验证响应体中的提示消息符合预期
            .andExpect(jsonPath("$.message", is("Not Create!")));
}

关键注意点

  • 无需mock服务层方法:因为else分支不会调用schedulerService.saveScheduler(),所以这一步可以直接省略,避免不必要的配置。
  • 请求体的处理:除了传入null,你也可以传入字符串"null",两种方式都能让Spring MVC将@RequestBody注解的参数解析为null,从而进入目标分支。
  • 响应验证:要确保验证的HTTP状态码与业务逻辑中定义的HttpStatus.NOT_FOUND对应,同时响应体的message字段和代码里的提示文本完全一致。

内容的提问来源于stack exchange,提问作者Cang Lu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:20:30