2011-10-09 56 views
8

我不認爲minInvocation或maxInvocation等同於Mockito中的times()。在那兒?JMockIt中的times()的等價物?

請參閱此問題:Major difference between: Mockito and JMockIt

尚未被任何人仍不回答。

編輯

,我發現自己的答案:在這裏添加它爲別人誰需要這樣回答:

的解決方案是使用DynamicPartialMocking和對象傳遞給期望或構造NonStrictExpectations並且不在該對象上調用任何函數。

然後在考證節,呼籲要衡量調用的次數,時間和凝固時間的對象的任何功能=你想

new NonStrictExpectations(Foo.class, Bar.class, zooObj) 
{ 
    { 
     // don't call zooObj.method1() here 
     // Otherwise it will get stubbed out 
    } 
}; 


new Verifications() 
{ 
    { 
     zooObj.method1(); times = N; 
    } 
}; 
+1

你可以在答案添加爲一個答案(和接受它) - 而不是編輯問題?這樣,它不會顯示在'未答覆'的桶中? –

回答

3

的價值,我發現自己的答案:在這裏添加它對於需要此功能的其他人回答:

解決方案是使用DynamicPartialMocking並將對象傳遞給Expectations或NonStrictExpectations的構造函數,而不是調用該對象的任何函數。

然後在考證節,呼籲要衡量調用的次數,時間和凝固時間的對象的任何功能=值你想

new NonStrictExpectations(Foo.class, Bar.class, zooObj) 
{ 
    { 
     // don't call zooObj.method1() here 
     // Otherwise it will get stubbed out 
    } 
}; 


new Verifications() 
{ 
    { 
     zooObj.method1(); times = N; 
    } 
}; 
+0

在大多數情況下,您不需要使用部分模擬。相反,使用「@ Mocked」,「@ NonStrict」等模擬註釋聲明一個模擬域或模擬參數,使用「常規」模擬。 –