이 예는 기본 평등 점검 및 JSONUT의 메커니즘을 사용한 부분 평등 점검을 보여주고,이를 읽기 성 및 오류보고를 위해 AssertJ와 통합하는 방법을 보여줍니다. (또는 동등한 빌드 파일)에 필요한 종속성을 포함시켜야합니다.
JSONUNIT를 효과적으로 사용하고 JSON 장치 테스트를 위해 assertj를 함께 사용하려면 JSON 구조를 비교하고 순서대로 변형을 처리하고 특정 필드를 무시할 때 Excels가 어떻게 accels을 사용할 수 있습니까? Assertj는 주장에 대한 유창하고 읽기 쉬운 API를 제공합니다. 그것들을 결합하면 두 라이브러리의 강점을 활용합니다. 효과적인 사용법은 다음과 관련이 있습니다 :import org.assertj.core.api.Assertions; import net.javacrumbs.jsonunit.JsonAssert; import org.json.JSONObject; import org.junit.jupiter.api.Test; public class JsonUnitTestExample { @Test void testJsonEquality() { String expectedJson = "{\"name\":\"John Doe\",\"age\":30,\"city\":\"New York\"}"; String actualJson = "{\"age\":30,\"city\":\"New York\",\"name\":\"John Doe\"}"; JsonAssert.assertEquals(expectedJson, actualJson); //Order doesn't matter with JsonUnit //Alternatively, using AssertJ for more descriptive failure messages: Assertions.assertThat(JsonAssert.jsonObject(expectedJson)).isEqualTo(JsonAssert.jsonObject(actualJson)); } @Test void testJsonPartialEquality() { String expectedJson = "{\"name\":\"John Doe\",\"age\":30,\"city\":\"New York\",\"country\":\"USA\"}"; String actualJson = "{\"name\":\"John Doe\",\"age\":30}"; // Using JsonUnit's ignoring strategy JsonAssert.assertEquals(expectedJson, actualJson, (node1, node2) -> node1.getNodeName().equals("country")); // Alternatively, using AssertJ with JsonUnit's ignoring functionality within a custom comparator // This gives more control and potentially better error messages Assertions.assertThat(JsonAssert.jsonObject(actualJson)).usingComparator(JsonAssert.when( (node1, node2) -> node1.getNodeName().equals("country") )).isEqualTo(JsonAssert.jsonObject(expectedJson)); } @Test void testJsonWithAssertJAssertions(){ JSONObject expectedJson = new JSONObject("{\"name\":\"John Doe\",\"age\":30}"); JSONObject actualJson = new JSONObject("{\"name\":\"John Doe\",\"age\":30}"); Assertions.assertThat(JsonAssert.jsonObject(actualJson).toString()).isEqualTo(expectedJson.toString()); // Or using JsonUnit's direct comparison JsonAssert.assertEquals(expectedJson, actualJson); } }
pom.xml
JSON- 특이 적 비교를 위해 JSONUNIT 활용 :
정교한 비교를 위해 jsonunit의
위 내용은 JsonUnit assertj json 단위 테스트 예제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!