当我尝试使用 Jake Wharton 的Android ThreeTen ABP库时,在单元测试中出现异常:
org.threeten.bp.zone.ZoneRulesException: No time-zone data files registered
这个问题解释了init
可能没有被调用,但是我如何在单元测试中做到这一点?
当我尝试使用 Jake Wharton 的Android ThreeTen ABP库时,在单元测试中出现异常:
org.threeten.bp.zone.ZoneRulesException: No time-zone data files registered
这个问题解释了init
可能没有被调用,但是我如何在单元测试中做到这一点?
导致此异常的原因是AndroidThreeTen.init
尚未使用上下文调用。
本地单元测试没有 Android Threeten ABP 加载时区信息所需的应用程序或上下文。
对于单元测试,您可以使用不是为 Android 设计的常规ThreeTen BP 。它可以在没有 Android 上下文的情况下加载时区信息。您的任何导入都不需要更改。
使用命令将附加的threeten 库添加到您的gradle 文件中testImplementation
。
implementation "com.jakewharton.threetenabp:threetenabp:1.2.1"
testImplementation "org.threeten:threetenbp:1.4.0"
请注意,这两个版本号并不重合。