Я пытаюсь в своем тесте RestAssured TestNG утверждать, что для каждого данного ReportCodeNbr в моем JSON-файле есть правильное значение UID.
Я смог успешно сделать это, связав каждую секцию json с жестко закодированным значением индекса, как в этом примере, однако, порядок секций может измениться, что изменит значение индекса и нарушит тест.
Как лучше всего сохранить все значения для ReportCodeNbr для каждого раздела, а затем утверждать, что UID является правильным, не используя жестко закодированное значение индекса, как в моем примере?
Коллега предложил массив, но я не уверен, как это сделать.
Частичный файл JSON с двумя объектами данных:
[
{
"Url": null,
"DataSteward": null,
"ReportAuthor": null,
"ReportKey": "100PercentSponsorFundedFaculty",
"SystemType": null,
"ReportTitle": "Report",
"ReportCodeNbr": "FIN1065",
"PropertyList": null,
"Title": "100 Percent Sponsor-Funded Faculty",
"Uid": "97d17dbd-9c3b-46aa-ae0e-39603a32250f"
},
{
"Url": null,
"DataSteward": null,
"ReportAuthor": null,
"ReportKey": "2013BaseYearPaidFTEReport",
"SystemType": null,
"ReportTitle": "Report",
"ReportCodeNbr": "FIN1075",
"PropertyList": null,
"Title": "100 Percent Sponsor-Funded Faculty",
"Uid": "97b3f1e0-b17d-448b-86ae-6ed6b432dcd2"
}
]
Успешный тест с жестко заданными значениями индекса:
@Test
public static void firstTest() {
Response response = given().when().get(baseURI);
response.then()
.assertThat().body("ReportCodeNbr[1]", equalTo("FIN1075"))
.assertThat().body("Uid[1]", equalTo("97b3f1e0-b17d-448b-86ae-6ed6b432dcd2"));}