2012-09-20 233 views
-1

这里是我的测试类.....的Mockito测试春季

@RunWith(SpringJUnit4ClassRunner.class) 
    @ContextConfiguration(loader=AnnotationConfigContextLoader.class) 
    public Testclass { 
    @Autowired 
    private VClasss vclass; 
     ..... 
     ..... 

    @Before 
    public void setup() { 
     //mockito.when.(vClass.isvalid()).thenReturn(true); 

    } 
    @After 
    public void verify({ 
    Mockito.verify(vCLass, VerificationModeFactory.times(1)).isValid(); 
    Mockito.reset(); 
    } 


    @Test 
    public void test1() { 
    //set up test which will call the mock isValid method 

    } 

    @Test 
    public void test1() { 
    //set up test which will call the mock isValid method 
    } 


    @Configuration 
    static class configurationForTest { 
    @Bean 
    public VClass vClass() { 
     return mockito.mock(VClass.class); 
    } 
    } 

我的问题是,当我设置了,先测试通过,为验证是否正确的isValid被调用一次,但第二失败,因为现在验证抱怨询问isValid被调用两次..我期望在mockito上的重置方法重置每次测试的呼叫计数afetr ..

有没有人有任何建议?

回答

2

你不通过任何模拟重置。该行应该是

Mockito.reset(vClass); 
+0

是否可以重置个别方法的计数?用你提供的整条模拟线重新设置。 – svlada

+1

AFAIK,no。重置模拟已经是一种气味了。重置个别方法会更加臭。 –