Я пишу автоматизированные тестовые случаи, используя синтаксис Cucumber / Gherkin.
Один конкретный сценарий включает проверку успешного добавления строки в базу данных.
Поэтому я хочу, чтобы тестpass / fail на основе инструкции SELECT, которая проверяет, был ли определенный идентификатор сохранен в базе данных.
Если идентификатор, переданный в инструкцию SELECT, существует, то PASS.
Если идентификатор не существует в базе данных, FAIL.
В настоящее время я могу отображать данные строки (поэтому идентификатор сохраняется), но даже если я запрашиваю неверныйID, тест все еще проходит.
Ниже приведен мой текущий код:
@Then("BR API will insert a record into tBookingRequestRejections table in the BR Staging DB tables. The record will contain the error code and error description.")
public void br_API_will_insert_a_record_into_tBookingRequestRejections_table_in_the_BR_Staging_DB_tables_The_record_will_contain_the_error_code_and_error_description() {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection m_Connection = DriverManager.getConnection(DETAILS);
Statement m_Statement = m_Connection.createStatement();
String query = "select top 10 * from tBookingRequest where request_id = " + idNumber;
ResultSet m_ResultSet = m_Statement.executeQuery(query);
while (m_ResultSet.next()) {
System.out.println("HERE: " + m_ResultSet.getString(1) + ", " + m_ResultSet.getString(2) + ", "
+ m_ResultSet.getString(3));
}
}
catch(Exception ex) {
System.out.println(ex.toString());
}
Как я могу сделать тест на огурец успешным / неудачным на основе значения, возвращенного этим запросом?
Большое спасибо за любую помощь!