如何在 Kotlin 上测试数据类?

Noa*_*ein 6 testing junit unit-testing kotlin data-class

我的 Kotlin 项目中有数据类,用于 JSON Rest 响应。例如:

data class WeatherResponse(val city: String, val temperature: Double, val humidity: Double)
Run Code Online (Sandbox Code Playgroud)

为了满足代码覆盖限制,我想为上述数据类编写一些测试。

哪些单元测试对 Kotlin 数据类有意义?

我想创建一个 WeatherResponse 对象和一个相应的 JSON 字符串(来自服务器的响应),将该字符串解析为 WeatherResponse 对象并进行比较?

Mar*_*bbo 5

Kotlin 数据类的目的是避免样板代码,并认为如果 getter 和 setter 中没有逻辑,则将它们键入就没有价值。

同样,如果标准 getter 和 setter 是自动生成的,则不应尝试对其进行单元测试,因为您基本上是在测试没有价值的编译器本身。

在您提到的 JSON 的情况下,您正在有效地测试将您的对象序列化为 JSON 的任何内容。例如,如果您想检查此序列化的特定配置,这可能会有一些用处,但我还是要说您可以假设存在数据类提供的功能。

通过正确的代码覆盖率验证,您不需要覆盖 Kotlin 代码中不存在的行。例如,从 0.8.2 开始,JaCoCo具有过滤生成代码的功能