Я пытаюсь написать тестовый случай с mockito для класса, который вводится с ComboPooledDataSource.Использование mockito для реализации интерфейса
У меня есть ошибка, говорящая о том, что ComboPooledDataSource является окончательным классом и не может быть издевательством. Итак, я подумывал насмехаться над интерфейсом (либо DataSource), и использовать его для тестового примера, но не знаю, как это сделать.
private Datasource cpds;
private Connection connection;
@Test
public void test() throws Exception {
connection = getConn();
cpds = mock(DataSource.class);
when(cpds.getConnection()).thenReturn(connection);
accessor = new comboPoolUser(cpds);
accessor.setConnection();
}
метод comboPoolUser, который вызывает GetConnection:
public void setConnection() {
try {
connection = comboPooledDataSource.getConnection();
} catch (SQLException e) {
throw new RuntimeException("error",e);
}
}
мой конструктор "comboPoolUser" берет в ComboPooledDataSource, но я пытаюсь издеваться в "DataSource" для теста, так Я получаю сообщение «не могу найти символ: конструктор comboPoolUser (javax.sql.DataSource)». Каков правильный способ сделать это?
Является ли код, который вы опубликовали, каким-то образом не работает? –
'получил ошибку, говоря, что ComboPooledDataSource - это последний класс и не может быть изделен' – Phas1c
Он спрашивает, когда вы издеваетесь над интерфейсом. –