使用@Spy @InjectMocks获取相同的服务。 Mockito称原始方法

时间:2016-03-29 15:13:07

标签: java junit mockito

我使用Mockito 1.9.5。同时尝试模拟位于我正在测试的服务中的方法。我知道您正在测试的模拟服务方法并不常见,但该方法只是从DB获取配置的复杂逻辑的一部分。

我想要实现的只是

when ( mockService.isFatureActive () ).thenReturn ( false );

@RunWith ( MockitoJUnitRunner.class )
public class MockSpyTestService {

    @Spy
    @InjectMocks
    private MockSpyTestService mockService = new MockSpyTestService ();

    @Before
    public void init () {
        mockService.setObjectFactory ( new ObjectFactory () );
    }

    @Test
    public void verifyMockService () {
        when ( mockService.isFatureActive() ).thenReturn ( false ); //real  isFatureActive() called
        verify ( mockService, times ( 1 ) ).isFatureActive();
    }
}

根据文件应该工作得很好。 相反,我得到了实际方法的调用 - isFatureActive()

0 个答案:

没有答案