2016-07-20 4 views
1

Это не работает с InitializationError. Другие тесты в одном пакете выполняются, поэтому я сделал что-то глупое в своем коде. Stacktrace читает «Не найдено совпадений тестов [[Exactmatch]]».Mockito test не удалось инициализировать

public class TestClassToTest { 
    @Mock 
    File mockOfAFile; 

    @Test 
    public void testAMethod(File mockOfAFile) { 
     MockitoAnnotations.initMocks(this); 
     given(fileMock.getName()).willReturn("test1"); 
     assertEquals("test1",ClassBeingTested.methodBeingTested(mockOfAFile)); 
    } 
} 

Пробовал все, но очень новичок в Mockito. Какая глупость я здесь делаю?

Благодаря

+0

Вы можете попробовать удалить файл 'mockOfAFile' от вас проверить подпись метода и не держать никаких параметров? – Abubakkar

+0

Кроме того, вы можете попробовать аннотировать свой тестовый класс с помощью '@ UnitTest' – Abubakkar

+1

. Можете рассказать нам, как вы их используете и прикрепить фактическую трассировку стека? – Kurtymckurt

ответ

2

Я нашел две вещи, чтобы исправить:

  1. Метод @Test не должен иметь никаких параметров
  2. Вам нужен другой File экземпляр, названный fileMock.

Так вот обновленный код:

public class TestClassToTest { 

    @Mock 
    File mockOfAFile; 

    @Mock 
    File fileMock; // the new mock 

    @Test 
    public void testAMethod() { // no parameters 
     MockitoAnnotations.initMocks(this); 
     given(fileMock.getName()).willReturn("test1"); // here is the new mock used 
     assertEquals("test1",ClassBeingTested.methodBeingTested(mockOfAFile)); 
    } 
} 
Смежные вопросы