当前位置: 首页 > 知识库问答 >
问题:

Android ThreeTen ABP库无法在单元测试中工作(ZoneRulesException)

向实
2023-03-14
org.threeten.bp.zone.ZoneRulesException: No time-zone data files registered

共有1个答案

田俊爽
2023-03-14

导致此异常的原因是未使用上下文调用AndroidThreeTen.init。本地单元测试没有Android Threeten ABP加载时区信息所需的应用程序或上下文。

对于单元测试,您可以使用常规的不是为Android设计的ThreeTen BP。它可以在没有Android上下文的情况下加载时区信息。您的任何导入都不需要更改。

使用testiplementation命令将附加的threeten库添加到gradle文件中。

implementation "com.jakewharton.threetenabp:threetenabp:1.2.1"
testImplementation "org.threeten:threetenbp:1.4.0"
 类似资料:
  • 我在pycharm中调试单元测试时遇到问题。我可以使用我的配置很好地运行它们,但当我运行调试器时,会得到以下错误输出: 我的目录结构是: 我的unittest配置是: 看起来像: 做什么?如何确保在调试期间找到它?问题实际上与正在查找的文件/目录无关吗?

  • 问题内容: 我已经开始测试,现在我想用,和而我的应用程序只运行的方法和控制台提供输出 之前 但是,如果删除并运行@Test。我的代码在这里: 为什么没有,并且同时工作? 问题答案: 该级部队使用旧的JUnit 3.x的语法,这意味着任何的JUnit 4注释将无法正常工作。 执行您的方法不是因为注释,而是因为它名为,这是JUnit 类提供的方法。 因此,您有2个解决方案: 使用AlexR答案使用JU

  • 问题内容: 我正在尝试为我的项目编写一个单元测试,但是它不允许我使用配置管理器。现在我的项目像 ASP.Net应用程序(所有aspx页) ProjectCore(所有C#文件-模型) ProjectTest(所有测试) 在我的ProjectCore中,我可以从System.Configuration访问ConfigurationManager对象,并将信息传递到项目中。但是,当我运行涉及Confi

  • 当我按照在线教程创建我的rails应用程序时,我犯了添加-T的错误。从那以后,我继续在这个应用程序上开发我自己的应用程序,我发现-T意味着我不想安装测试单元...我目前正在处理我的电子邮件,但我不知道如何预览我使用Action Mail生成器()生成的电子邮件。我已经添加了到我的development.rb文件,但它似乎不起作用。当我访问http://localhost:3000/lib/mail

  • 我还可以用 我得到一条消息,说测试通过了,但从未显示在屏幕上。为什么不呢?

  • 问题内容: 我希望在编写用于测试某些数据库条目的单元测试中获得一些建议。 如果找不到记录,则我正在测试的功能会将数据库作为种子。 我似乎不太了解如何进行len测试。我正在使用测试数据库,因此我可以在任何时候都对其进行核对,因此,如果我只需要在函数上强制使用一个空的数据库,就没有问题了。 该函数本身可以正常工作,我只想确保已覆盖该函数。 任何建议都很好。 谢谢! 问题答案: 确实取决于您,有很多方法