我是靠谱客的博主 傻傻春天,最近开发中收集的这篇文章主要介绍@Mock、Mockito.mock()、@MockBean的区别,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  • Mockito.mock()和@Mock的区别
    相同点:Mockito.mock()和@Mock的作用都是生成一个接口或者类的mock对象。
    不同点:@Mock注解生效必须使用@RunWith(MockitoJUnitRunner.class)或者MockitoAnnotations.openMocks()去初始化对象,否则直接使用@Mock的对象会报空指针。
    MockitoAnnotations.initMocks()已经被MockitoAnnotations.openMocks()替代。
    // @Mock注解生效的两种方式,使用以下一种即可
    // 方式一:使用@RunWith(MockitoJUnitRunner.class)
    @RunWith(MockitoJUnitRunner.class)
    public class Test {
        @Mock
        private HttpServletReqeust reqeust;
        
        // 方式二:使用MockitoAnnotation.openMocks(this)
        @Before
        public void init() {
            MockitoAnnotation.openMocks(this); // 初始化@Mock注解的对象
        }
    }
    
- @MockBean的作用
  @mockBean注解将Mock对象添加到Spring上下文中。注解的对象将替换Spring上下文中任何相同类型的现有bean,如果没有定义相同类型的bean,将添加一个新的bean。

最后

以上就是傻傻春天为你收集整理的@Mock、Mockito.mock()、@MockBean的区别的全部内容,希望文章能够帮你解决@Mock、Mockito.mock()、@MockBean的区别所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部