Mockito关于抽象类的问题

真实调用

抽象类需要中的方法需要真实调用,那么用@InjectMocks是不管用的,需要如下代码:

    @InjectMocks
    A a;

    @Before
    public void setUp() {
        a = mock(A.class, Answers.CALLS_REAL_METHODS);
        MockitoAnnotations.initMocks(this);
    }

a = mock(A.class, Answers.CALLS_REAL_METHODS)可以mock出相应的对象,并且在调用的时候,因为Answers.CALLS_REAL_METHODS这个参数,可以保证真实方法的调用,这就可以作为方法调用的入口,进行单元测试; 不过@InjectMocks还是要使用的,因为你要保证@Mock注解的对象添加到@InjectMocks对象的环境中;

你可能感兴趣的:(单元测试,java,java,单元测试)