如何在 Kotlin 上测试数据 class?
How to test data class on Kotlin?
我的 Kotlin 项目中有 class 数据,用于 JSON 其他响应..
示例:
data class WeatherResponse(val city: String, val temperature: Double, val humidity: Double)
为了满足代码覆盖率限制,我想为以上数据编写一些测试class。
哪些单元测试对 Kotlin 数据有意义 classes?
我想创建一个 WeatherResponse 对象和相应的 JSON 字符串(来自服务器的响应),将该字符串解析为 WeatherResponse 对象并进行比较?
Kotlin 数据 类 的目的是避免样板代码,并认为如果 getter 和 setter 中没有逻辑,那么输入它们就没有价值。
同样,如果标准 getter 和 setter 是自动生成的,您不应该尝试对它们进行单元测试,因为您基本上是在测试编译器本身,它没有提供任何价值。
在您提到的 JSON 的情况下,您正在有效地测试将您的对象序列化为 JSON 的任何内容。例如,如果您想检查此序列化的特定配置,这可能会有一些用处,但我会再次说您可以假设数据 类.
提供的功能存在
通过正确的代码覆盖验证,您应该不需要覆盖 Kotlin 代码中不存在的行。例如,从 0.8.2 JaCoCo has features which filter out generated code.
我的 Kotlin 项目中有 class 数据,用于 JSON 其他响应.. 示例:
data class WeatherResponse(val city: String, val temperature: Double, val humidity: Double)
为了满足代码覆盖率限制,我想为以上数据编写一些测试class。
哪些单元测试对 Kotlin 数据有意义 classes?
我想创建一个 WeatherResponse 对象和相应的 JSON 字符串(来自服务器的响应),将该字符串解析为 WeatherResponse 对象并进行比较?
Kotlin 数据 类 的目的是避免样板代码,并认为如果 getter 和 setter 中没有逻辑,那么输入它们就没有价值。
同样,如果标准 getter 和 setter 是自动生成的,您不应该尝试对它们进行单元测试,因为您基本上是在测试编译器本身,它没有提供任何价值。
在您提到的 JSON 的情况下,您正在有效地测试将您的对象序列化为 JSON 的任何内容。例如,如果您想检查此序列化的特定配置,这可能会有一些用处,但我会再次说您可以假设数据 类.
提供的功能存在通过正确的代码覆盖验证,您应该不需要覆盖 Kotlin 代码中不存在的行。例如,从 0.8.2 JaCoCo has features which filter out generated code.