angular - Angular Unit Test - 如何模拟系统时钟时区
问题描述
如何使用 Karma/Jasmine 在 Angular 单元测试中模拟系统时钟设置为另一个时区。
我正在使用自定义日期时间选择器组件。它有一个错误,只能在不同时区使用时重现。要为修复编写适当的单元测试,我想模拟完全相同的情况。
我可以通过在 Windows 设置中手动切换系统时钟来重现该错误:
现在我想将系统时间开关移动到单元测试中,以模拟组件在不同时区的行为。
我尝试像这样使用 jasmine.clock:
jasmine.clock().mockDate(moment.tz("2020-10-09 10:00:00", "Asia/Bangkok").toDate());
但它并没有像改变系统时钟那样真正改变时区。茉莉花时钟确实改变了时间,但它保持在系统的时区(即中欧时间)中。
解决方案
推荐阅读
- java - 错误:无法从注册表确定 JAVA_HOME (R)
- android - 如何在 android logcat Retrofit2 中获得完整的 JSON 响应
- c# - 将“地图”对象从 Typescript 传递到 Web Api 代码时出现问题
- css - 如何在文件中提取具有特殊颜色的css规则
- rust - 这种模式可以在 Rust 中实现吗?
- powershell - SSH 客户端到 PowerShell 中的客户端托管
- firebase - 是否可以?在 Firebase 身份验证中创建记录之前发送电子邮件验证?
- javascript - MediaDevice applyConstraints 不起作用
- python - crontab 每分钟而不是每两小时运行一次 python 脚本
- python - 按索引交换列表中的值