У меня проблемы с проблемой.
Ниже я вставляю пример кода.
Мой класс DefinedAddress будет извлекать адрес из БД.
@Autowired
DBConnection connection;
public class DefinedAddress {
public String getAddress() {
List<? extends Address> addressList =connection.getAddresss("SELECT address FROM Address WHERE Id = 1;")
return addressList.get(0).location);
}
}
Я создаю Junit этого класса, и у меня основная логика, как показано ниже:
Я собираюсь смоделировать вызов метода базы данных connection.getAddresss и верну список с одним адресом.
public class DefinedAddressTest {
public static void main(String[] args) {
// Create a list
List<? extends Address> addressList = new ArrayList<>();
City city = new City();
city.setLocation("CurrentLocation");
addressList.add(city);//Compile time issue
//mock Defined Addrss getAddress() method to fetch the address
Mockit.when(connection.getAddresss("Query").return(addressList );
}
}
Теперь я знаю, что addressList не позволит добавить город как есть? расширяет адрес, и мы не уверены, какой объект он собирается добавить (достаточно справедливо)
ошибка такая: метод add (захват № 1-из? Extends Address) в списке типа не применим для аргументов (город)
Так, как я могу смоделировать вызов и создать в этом случае мой тест Junit?