REST Assured: как не запускать вторую часть теста, если первая часть не соответствует результату - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть тест REST Assured, состоящий из двух частей, и я пытаюсь найти способ написать, что если первая часть не может найти то, что ищет, то вторая часть не запускается и тест не проходит.

Обзор теста -

  • part1 выполняет поиск и ищет учетную запись со статусом «отправлено».Он извлекает идентификатор учетной записи.
  • part2 выполняет публикацию для проверки этой учетной записи и использует извлеченный идентификатор учетной записи из part1

Я пытаюсь написать тест таким образом, если part1 не можетнайти любые учетные записи с представленным статусом, тест не будет запущен или не пройден.

Это то, что я имею до сих пор:

        // THIS TEST CASE VERIFIES THAT YOU CAN VALIDATE A NEW ADD EXTERNAL ACCOUNT REQUEST - HAPPY PATH

        @Test
        public void testValidateExternalAccount() throws IOException
        {
            BigDecimal transactionAmountOne = new BigDecimal (9);
            BigDecimal transactionAmountTwo = new BigDecimal (10);

            //PART1: EXTRACTS THE ACCOUNTID FROM THE ACCOUNT WITH THE SUBMITTED STATUS
            String accountid = given().
                    spec(requestSpec).

                    pathParam("CustId", VALID_CUST_ID).
                    contentType("application/json;charset=utf-8").log().all().get("/external-accounts/{CustId}").then().extract().
                    path("externalAccountsDetails.find{it.status== 'SUBMITTED'}.accountId");
                    System.out.println(accountid);

            //PART2: POSTS THE VALIDATE API FOR THE SUBMITTED STATUS ACCOUNT FROM PART1

            Response response = given().

            contentType("application/json;charset=utf-8").              
            spec(requestSpec).
            pathParam("accountid", accountid).

            body(validateExternalAccount(transactionAmountOne, transactionAmountTwo)).

            when().
            post("/external-accounts/validation/{accountid}").
            then().
            assertThat().statusCode(200).
            and().
            extract().
            response();

            //for prefix to find in build logs
            System.out.println("testValidateExternalAccount test prefix to find in console"+response.getBody().asString());
        }

Любая помощь будет очень признательна!

Спасибо

...