2017-01-28 13 views
21

बहिष्कृत किया गया है, मैं @InjectMocks और @Mock के साथ एक यूनिट परीक्षण करने की कोशिश कर रहा हूं।MockitoJUnitRunner को

@RunWith(MockitoJUnitRunner.class) 
public class ProblemDefinitionTest { 

    @InjectMocks 
    ProblemDefinition problemDefinition; 

    @Mock 
    Matrix matrixMock;  

    @Test 
    public void sanityCheck() { 
     Assert.assertNotNull(problemDefinition); 
     Assert.assertNotNull(matrixMock); 
    } 
} 

जब मैं @RunWith एनोटेशन शामिल नहीं हैं, परीक्षण विफल रहता है। लेकिन

प्रकार MockitoJUnitRunner

बहिष्कृत हो गई है मैं Mockito 2.6.9 का उपयोग कर रहा हूँ। मुझे इस बारे में कैसे बर्ताव करना चाहिए?

उत्तर

43

org.mockito.runners.MockitoJUnitRunner अब वास्तव में बहिष्कृत है, तो आप इसके बजाय org.mockito.junit.MockitoJUnitRunner का उपयोग करना चाहते हैं। जैसा कि आप केवल पैकेज नाम परिवर्तन देख सकते हैं, कक्षा का सरल नाम अभी भी MockitoJUnitRunner है। org.mockito.runners.MockitoJUnitRunner की जावाडोक से

अंश:

ले जाया गया MockitoJUnitRunner करने के लिए, इस वर्ग के साथ हटा दिया जाएगा Mockito 3

0

आप इस कोशिश कर सकते हैं, तो आप का उपयोग नहीं करना चाहते हैं, तो @RunWith (MockitoJUnitRunner.class)

@BeforeClass 
public void setup() { 
    MockitoAnnotations.initMocks(this); 
} 
5

आप इस कोशिश कर सकते हैं:

+०१२३५१६४१०
@Before 
public void setup() { 
    MockitoAnnotations.initMocks(this); 
} 

क्योंकि आप @Before टिप्पणी जोड़ने, आपका नकली वस्तुओं नया हो सकता है और कई बार दर्ज की गई है, और सभी परीक्षण में आप वस्तुओं नए गुणों दे सकते हैं। लेकिन, यदि आप एक बार चाहते हैं नकली वस्तु के लिए रिकॉर्ड व्यवहार जोड़ने कृपया @BeforeCLass

2

भी एक @Rule विकल्प नहीं है:

@Rule 
public MockitoRule rule = MockitoJUnit.rule(); 

या Kotlin में:

@get:Rule 
var rule = MockitoJUnit.rule() 
संबंधित मुद्दे