提问人:Justin Meiners 提问时间:8/1/2019 最后编辑:Justin Meiners 更新时间:8/5/2019 访问量:972
Android ThreeTen ABP 库在单元测试中不起作用 (ZoneRulesException)
Android ThreeTen ABP library not working in unit tests (ZoneRulesException)
问:
当我尝试使用 Jake Wharton 的 Android ThreeTen ABP 库时,在单元测试中,我得到一个异常:
org.threeten.bp.zone.ZoneRulesException: No time-zone data files registered
这个问题解释了可能没有被调用,但是我如何在单元测试中做到这一点?init
答:
2赞
Justin Meiners
8/1/2019
#1
导致此异常的原因是未使用上下文调用。本地单元测试没有应用程序或上下文,这是Android Threeten ABP加载时区信息所必需的.AndroidThreeTen.init
对于单元测试,您可以使用常规的 ThreeTen BP,它不是为 Android 设计的。它可以在没有 Android 上下文的情况下加载时区信息。您的任何导入都不需要更改。
使用以下命令将额外的 threeten 库添加到您的 gradle 文件中。testImplementation
implementation "com.jakewharton.threetenabp:threetenabp:1.2.1"
testImplementation "org.threeten:threetenbp:1.4.0"
请注意,这两个版本号不一致。
评论
init
init