#junit
#junit
Вопрос:
Я пишу тестовые примеры junit для подключения к JDBC для Oracle (OJDBC6.jar ). Ниже приведен мой код
public void insertCard(){
Properties prop= new Properties();
properties.put("user","user");
properties.put("password","password");
properties.put("driver","com.oracle.OracleDriver")
Connection con = DriverManager.getConnection (
"jdbc:oracle:thin:@localhost:1521:orcl",properties);
PreparedStatement insertCardValues = con.prepareStatement(
"insert into card values(?,?,?)");
insertCardValues.setInt(1,123);
insertCardValues.setName(2,"Raja");
insertCardValues.setAddress(3, "Lucknow");
insertCardValues.executeUpdate();
}
}
Может кто-нибудь помочь мне протестировать приведенный ниже код
Connection con = DriverManager.getConnection (
"jdbc:oracle:thin:@localhost:1521:orcl","properties);
Ответ №1:
Пожалуйста, прежде всего, я бы предложил вам разделить проблемы.
- Создайте отдельный объект, который должен отвечать за возврат вам соединения. Может быть, вы могли бы создать свой собственный объект-оболочку подключения для работы с подключением SQL
- Затем класс, который использует ответственный за вставку карты, может получить открытое соединение для создания инструкций.
- Не забудьте также иметь способ разорвать соединение после завершения логики insertCard (независимо от того, удалось это или нет, опасно оставлять открытые соединения с базой данных)
После того, как вы переработали свой код, вы можете легко покрыть его модульными тестами с помощью Mockito. Но сначала, я думаю, вам нужно провести рефакторинг, тестирование в противном случае будет болезненным