AssertJ JSON проверка недвижимости - PullRequest
0 голосов
/ 21 января 2020

У меня есть экземпляр JSONObject, который содержит какое-то свойство,

{
"name":"testName",
"age":"23"
}

Я использую следующее утверждение, но это не удается. Это правильный подход к проверке JSON в assertj.

assertThat(jsonObject).hasFieldOrProperty("name");

Ответы [ 2 ]

1 голос
/ 21 января 2020

Я думаю, что это связано с тем фактом, что JSONObject походит на карту, у которой есть пары ключ-значение, в то время как AssertJ ожидает, что Java объекты стиля бина проверят, существует ли свойство. Я понял это из документа на https://joel-costigliola.github.io/assertj/core/api/org/assertj/core/api/AbstractObjectAssert.html#hasFieldOrProperty (java .lang.String) . Надеюсь, я смотрю в правильном месте.

Я хочу сказать, что карта или JSONObject не имеют объявленных полей для поиска в AssertJ.

Вы можете использовать JSONObject.has( String key ) вместо этого, я думаю.

0 голосов
/ 22 января 2020

Если вы хотите сделать какое-либо серьезное утверждение для объекта JSON, я бы порекомендовал JsonUnit https://github.com/lukas-krecan/JsonUnit

...