Я знаю, что этот вопрос задают сотни раз, я проверил более 30 ответов, и ни один из них не работал для меня.
Я провожу юнит-тест в android студии, используя Kotlin , Я пытаюсь построить JSONObject
, используя String
.
Метод, который я использую для создания простого json объекта, всегда выдает Cannot evaluate org.json.JSONObject.toString()
.
Используемая мной строка определенно имеет допустимый формат Json .
Это ошибка в android или что-то ??
Вот метод, который я использую:
fun createTaskJson(): JSONObject {
val jsonString =
"{\"id\":138,\"title\":\"G0102-025\",\"type\":\"New Land Evaluation\",\"taskCreationDate\":\"28/01/2020\",\"taskDeliveryDate\":\"02/02/2020\",\"taskCreationTime\":\"05:15 AM\"}"
val realJson = JSONObject(jsonString)
return realJson
}
ОБНОВЛЕНИЕ 1: Обратите внимание, что создание пустого JSONObject
вызовет ту же ошибку !!

ОБНОВЛЕНИЕ 2:
После проверки трассировки стека я обнаружил следующую ошибку:
Method toString in org.json.JSONObject not mocked.
Я нашел его в Google, и было решено добавить следующую конфигурацию в мой build.gradle
file:
testOptions {
unitTests.returnDefaultValues = true
}
Но добавление этого параметра вернуло JSONObject
null вместо исключения, даже если моя строка отформатирована правильно.