Res Assured AssertionError обработка - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть тест API, который утверждает значения. В настоящее время он читает строки из Excel, а затем возвращает их в нормальном состоянии для l oop. Это работает очень хорошо, если значения совпадают.

Однако, если утверждение не выполнено, тест завершается с помощью stacktrace AssertionError. Есть ли способ продолжить тест, даже если одно утверждение не выполнено?

Структура basi c выглядит следующим образом:

<code>
  try {
            for (int i = 1; i < 10; i++) {
            //Get Excel Data
                String progress = sheet.getRow(i).getCell(1).toString();
            //Excel Assert Values
                String valueToAssert = sheet.getRow(i).getCell(29).toString();

            baseURI = "url";

                Response response =
                        given()
                                //.filter(new AllureRestAssured())
                                .body(String.valueOf(writer))
                                .when()
                                .post()
                                .then()
                                .assertThat()
                                .statusCode(200)
                                .and()
                                .body("value", equalTo(valueToAssert))
 }
        } catch (Exception e) {
            e.printStackTrace();
        }catch (AssertionError k){
            k.printStackTrace();
        }
    }





</code>

1 Ответ

0 голосов
/ 16 апреля 2020

Старайтесь никогда не использовать для l oop в своих тестах , так как это приведет к вашей проблеме.

Вместо этого используйте параметризованные тесты.

  • Для Junit 5: baeldung.com/parameterized-tests-junit-5
  • Для Junit 4: mkyong.com/unittest/junit-4-tutorial-6-parameterized- test

Использование параметризованных тестов создаст несколько тестов, которые могут не пройти по отдельности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...