Макетная функция не найдена в EasyMock

Я пытаюсь построить свой первый тест EasyMock, однако у меня есть тривиальная проблема, что функция "mock" не найдена.

Вот мой довольно простой код:

package homework;

import org.easymock.EasyMockSupport;
import org.junit.Before;
import org.junit.Test;

import com.locusenergy.homework.Elevator;

public class ElevatorTest extends EasyMockSupport{

    private Elevator elevator;

    @Before 
      public void setUp() {
        elevator = mock(Elevator.class);

      } 

    @Test
    public void testCallElevator() {
        elevator.requestFloor(5);
    }
}

Тем не менее, я получаю сообщение об ошибке, что макет не найден. Я понятия не имею, как решить эту проблему.

3 ответа

Решение

В зависимости от документации EasyMock пример должен выглядеть следующим образом:

package homework;

import org.easymock.EasyMockSupport;
import org.junit.Before;
import org.junit.Test;

import com.locusenergy.homework.Elevator;

public class ElevatorTest extends EasyMockSupport{

    private Elevator elevator;

    @Before 
      public void setUp() {
        elevator = createMock(Elevator.class);
      } 

    @Test
    public void testCallElevator() {
        elevator.requestFloor(5);
    }
}

Как описано здесь: http://easymock.org/api/org/easymock/EasyMockSupport.html

Документы API говорят, что методы name - это createMock.

Ваш код, вероятно, будет работать так, как он есть, когда выйдет следующая версия EasyMock.

Руководство пользователя относится к mock метод, который можно найти в основной ветке, но не в последней версии (3.3.1).

Просто делюсь другим подходом... Вы можете использовать org.easymock.IMocksControl. Ваш код будет выглядеть примерно так:

@Before 
  public void setUp() {
   IMocksControl mocksControl = createControl();
   elevator = = mocksControl.createMock(Elevator.class); 
 }

..... Я предпочитаю использовать IMocksControl. Как следует из названия \ api, управляет поведением связанного с ним фиктивного объекта.

Примечание: я использую easymock версии 3.1 С уважением, МБ

Другие вопросы по тегам