Я использую Mockito (1.10.19) в Eclipse mars 2.0 для тестирования Java EE для тестирования автономного хранилища. Этот класс полагается на класс InitialData для извлечения информации.Исключения из Mockito: где мои аргументы неправильные?
Моя первая задача - добавить адрес в список initialData. Вот метод наряду с импортом класса и:
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
import org.mockito.runners.MockitoJUnitRunner;
import com.qa.smurf.InitialData;
import com.qa.smurf.entities.Address;
import com.qa.smurf.repositories.offline.AddressRepositoryOffline;
import junit.framework.TestCase;
@RunWith(MockitoJUnitRunner.class)
public class AddressRepositoryOfflineTest extends TestCase {
@Test
public void testPersistAddress() {
Address newAddress = new Address("a", "a");
ArrayList<Address> addList = new ArrayList<Address>();
addList.add(newAddress);
AddressRepositoryOffline aro = Mockito.mock(AddressRepositoryOffline.class);
InitialData initialData = Mockito.mock(InitialData.class);
Mockito.when(initialData.getAddresses()).thenReturn(addList);
assertEquals(newAddress, aro.getAddresses().get(0));
}
}
Который должен вызывать класса AddressRepositoryOffline getAddresses() метод, который впоследствии вызывает метод getAddresses Класс InitialData() и вернуть addList ArrayList.
public class AddressRepositoryOffline implements AddressRepository {
@Override
public ArrayList<Address> getAddresses() {
return initialData.getAddresses();
}
}
public class InitialData {
public ArrayList<Address> getAddresses() {
return this.addresses;
}
}
Я затем запустить в следующие ошибки:
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangecheck(ArrayList.java:653)
at java.util.ArrayList.get(ArrayList.java:429)
at OfflineRepository.AddressRepositoryOfflineTest.testPersistAddress(AddressRepositoryTest.java:37)
Line 37 в вопросе
assertEquals(newAddress, aro.getAddresses().get(0));
еще с некоторыми ошибками, чтобы сделать с помощью JUnit и MockitoJUnitandHigherRunnerImpl
Очевидно я я неправильно понимаю, как правильно реализовать Mockito здесь. Может ли кто-нибудь помочь мне?
Большое спасибо,
Спасибо так много. – shirafuno