Как проверить класс данных на Kotlin? - PullRequest
1 голос
/ 07 июня 2019

У меня есть классы данных в моем проекте Kotlin, которые я использую для ответов JSON Rest. Пример:

data class WeatherResponse(val city: String, val temperature: Double, val humidity: Double)

Чтобы выполнить ограничения покрытия кода, я хотел бы написать несколько тестов для вышеуказанных данныхclass.

Какие модульные тесты будут иметь смысл для классов данных Kotlin?

Я думал о создании объекта WeatherResponse и соответствующей строки JSON (ответ от сервера), parseчто String для объекта WeatherResponse и сравнить?

1 Ответ

0 голосов
/ 07 июня 2019

Цель классов данных Kotlin состоит в том, чтобы избежать стандартного кода и считает, что если в методах получения и установки нет логики, то нет смысла их выводить.

Аналогично, вам не следует пытаться проводить модульное тестирование стандартных методов получения и установки, если они генерируются автоматически, поскольку вы в основном тестируете сам компилятор, который не имеет значения.

В случае JSON, о котором вы упоминаете, вы эффективно тестируете все, что сериализует ваш объект в JSON. Это может быть полезно, если вы хотите проверить, например, конкретную конфигурацию этой сериализации, но я бы сказал, что вы можете предполагать наличие функциональности, предлагаемой классами данных.

При правильной проверке покрытия кода вам не нужно покрывать строки, которых нет в вашем коде Kotlin. Например, по состоянию на 0.8.2 JaCoCo имеет функции, которые отфильтровывают сгенерированный код .

...