如何解决是否有类似Lombok @AllArgConstructor的@MockBeans?
我在Java项目中使用Project Lombok。
我的控制器如下:
@RestController
@AllArgsConstructor
public class UserController {
private RegisterService registerService;
private UserService userService;
private UserValidator userValidator;
private LoginService loginService;
/*
* rest of the controller
*/
}
因此控制器必须如下所示:
@WebMvcTest(UserController.class)
public class UserControllerTest {
@MockBean
private UserRepository userRepository;
@MockBean
private RegisterService registerService;
@MockBean
private UserService userService;
@MockBean
private LoginService loginService;
@MockBean
private UserValidator UserValidator;
/*
* rest of the contoller test
*/
}
只是为了减少编程代码猴子,还有@AllMockArgConstructor之类的东西吗?
还是以某种方式,我不必总是添加所有服务?
如果这是一个愚蠢的问题,请向我解释原因。
谢谢!
解决方法
不幸的是,这无法完成
@MockBeans
注释目标仅适用于字段和类型,不适用于方法,您可以详细了解here。
如果@MockBeans
也支持方法,那么可以这样做:
@Getter(onMethod_={@MockBean} )
@WebMvcTest(UserController.class)
public class UserControllerTest {
...
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。