Java — тестовый пример JUnit для подключения к JDBC — Oracle

#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:

Пожалуйста, прежде всего, я бы предложил вам разделить проблемы.

  1. Создайте отдельный объект, который должен отвечать за возврат вам соединения. Может быть, вы могли бы создать свой собственный объект-оболочку подключения для работы с подключением SQL
  2. Затем класс, который использует ответственный за вставку карты, может получить открытое соединение для создания инструкций.
  3. Не забудьте также иметь способ разорвать соединение после завершения логики insertCard (независимо от того, удалось это или нет, опасно оставлять открытые соединения с базой данных)

После того, как вы переработали свой код, вы можете легко покрыть его модульными тестами с помощью Mockito. Но сначала, я думаю, вам нужно провести рефакторинг, тестирование в противном случае будет болезненным