Nếu bạn đã sử dụng JUnit, phiên bản mới nhất hiện sử dụng Hamcrest. Đó là một khung kết hợp chung (đặc biệt hữu ích cho thử nghiệm đơn vị) có thể được mở rộng để xây dựng các đối sánh mới.
Có một thư viện mã nguồn mở nhỏ được gọi hamcrest-json
với các đối sánh nhận biết JSON. Nó là tài liệu tốt, thử nghiệm và hỗ trợ. Dưới đây là một số liên kết hữu ích:
Mã ví dụ sử dụng các đối tượng từ thư viện JSON org.json.simple
:
Assert.assertThat(
jsonObject1.toJSONString(),
SameJSONAs.sameJSONAs(jsonObject2.toJSONString()));
Tùy chọn, bạn có thể (1) cho phép mảng "bất kỳ thứ tự" và (2) bỏ qua các trường bổ sung.
Vì có rất nhiều thư viện JSON cho Java ( Jackson
, GSON
, json-lib
, vv), nó rất hữu ích mà hamcrest-json
hỗ trợ JSON văn bản (như java.lang.String
), cũng như nguyên bản hỗ trợ các đối tượng từ thư viện JSON Douglas Crockfordorg.json
.
Cuối cùng, nếu bạn không sử dụng JUnit, bạn có thể sử dụng Hamcrest trực tiếp để xác nhận. ( Tôi đã viết về nó ở đây. )
toString()
để chuyển đổi đối tượng thànhJSON
chuỗi.