Java에서 하위 순서를 무시하면서 JSON 개체의 동등성 테스트
단위 테스트에서는 웹 서비스에서 반환된 JSON 개체를 비교하는 것이 일반적입니다. 기대값에. 그러나 일부 JSON 라이브러리는 엄격한 참조 비교를 수행할 수 있으며, 이는 하위 순서의 차이로 인해 불안정하고 실패할 수 있습니다.
이를 위해 Skyscreamer JSONAssert 라이브러리가 솔루션을 제공합니다. 비엄격 모드는 다음을 통해 유연성을 허용합니다:
반대로 엄격 모드는 json-lib의 테스트와 유사하게 더 보수적으로 동작합니다. class.
JSONAssert를 활용하기 위해 다음과 같이 테스트를 구성할 수 있습니다.
@Test
public void testGetFriends() {
JSONObject data = getRESTData("/friends/367.json");
String expected = "{friends:[{id:123,name:\"Corby Page\"}"
",{id:456,name:\"Solomon Duskis\"}]}";
JSONAssert.assertEquals(expected, data, false); // Non-strict mode
}
JSONAssert.assertEquals()의 매개변수에는 예상되는 JSON 문자열, 실제 데이터 문자열, 엄격 모드 여부를 나타내는 플래그가 포함됩니다.
JSONAssert는 명확한 오류 메시지를 제공합니다. 대규모 JSON 개체를 비교하여 단위 테스트의 견고성을 보장합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3