2017-01-28 16 views
21

Próbuję wykonać test jednostkowy z @InjectMocks i @Mock.MockitoJUnitRunner jest przestarzałe

@RunWith(MockitoJUnitRunner.class) 
public class ProblemDefinitionTest { 

    @InjectMocks 
    ProblemDefinition problemDefinition; 

    @Mock 
    Matrix matrixMock;  

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

Kiedy nie dodaję adnotacji @RunWith, test kończy się niepowodzeniem. Ale

Typ MockitoJUnitRunner jest przestarzała

Używam Mockito 2.6.9. Jak powinienem to zrobić?

Odpowiedz

0

Można spróbować, jeśli nie chcesz używać @RunWith (MockitoJUnitRunner.class)

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

można spróbować to:

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

Ponieważ dodajesz adnotację @Before, Twoje fałszywe obiekty mogą być nowe i nagrywane wiele razy, a we wszystkich testach możesz nadać obiektom nowe właściwości. Ale, jeśli chcesz raz zachowanie rekord atrapa obiektu należy dodać @BeforeCLass

2

Istnieje również @Rule opcja:

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

Albo w Kotlin:

@get:Rule 
var rule = MockitoJUnit.rule() 
Powiązane problemy