Я пытаюсь настроить тест Cucumber для тестирования базы данных, поскольку в моем приложении есть некоторые службы отдыха, и мне нужно проверить базу данных, чтобы убедиться, что записи обновлены с правильным значением.
Я использую базу данных Postgres,У меня есть файл функций, перечисленный ниже:
Feature: API Test
Background: Given I am connected with the database
Scenario: I want to test the database connection
When I run the select query
Then I should see the result as "Pranjal"
Класс подключения к базе данных выглядит следующим образом:
открытый класс DatabaseConnection {
public DatabaseConnection createConnection() throws Exception {
try {
//Connection URL Syntax: "jdbc:postgresql://ipaddress:portnumber/db_name"
String dbUrl = "jdbc:postgresql://localhost:5432/test";
//Database User name
String username = "postgres";
//Database Password
String password = "12345678";
//Query to Execute
String query = "select * from test where no = 1;";
//Load PostgreSQL JDBC driver
Class.forName("org.postgresql.Driver");
//Create Connection to DB
Connection con = DriverManager.getConnection(dbUrl,username,password);
//Create Statement Object
Statement stmt = con.createStatement();
// Execute the SQL Query. Store results in ResultSet
ResultSet rs = stmt.executeQuery(query);
// While Loop to iterate through all data and print results
while (rs.next()){
String myName = rs.getString(1);
System.out.println(myName);
}
// closing DB Connection
con.close();
} catch(SQLException e) {
e.printStackTrace();
}
return new DatabaseConnection();
}
}
У меня есть класс Runner, который будет выполнять мой файл объектов.
Я хочу, чтобы мои шаги выполняли запрос, и соединение с базой данных создается как фоновое условие.
Есть ли способчтобы достичь этого?