我的Kotlin项目中有数据类,用于JSON Rest响应。
例子:
data class WeatherResponse(val city: String, val temperature: Double, val humidity: Double)
为了满足代码覆盖范围的限制,我想为上述数据类编写一些测试。
哪些单元测试对Kotlin数据类有意义?
我想创建一个WeatherResponse对象和一个相应的JSON String(来自服务器的响应),将该String解析为WeatherResponse对象并进行比较?
最佳答案
Kotlin数据类的目的是避免样板代码,并认为如果getter和setter中没有逻辑,则将它们键入没有值(value)。
同样,如果标准的getter和setter是自动生成的,则不应尝试对其进行单元测试,因为您基本上是在测试没有值(value)的编译器本身。
对于您提到的JSON,您正在有效地测试将对象序列化为JSON的一切。如果您想检查(例如)此序列化的特定配置,那么这可能会有一些用处,但是我还是要假设您可以假设存在数据类提供的功能。
通过正确的代码覆盖率验证,您无需覆盖Kotlin代码中不存在的行。例如,从0.8.2 JaCoCo has features which filter out generated code开始。