reactjs - 如何用玩笑为所有单元测试设置SystemTime
问题描述
我正在使用 ReactJS 构建一个客户端应用程序,并且我正在使用 Jest 来帮助对我的应用程序进行单元测试。
"jest": "^26.6.3",
"@types/jest": "^26.0.15",
"@types/react": "^16.8.24",
在我当前的测试套件中,我们在所有地方和我们的模拟数据文件中都使用 new Date() 例如
testMockData.ts
const testObject = {
start: new Date(new Date().setMinutes(new Date().getMinutes() + 120)),
end: new Date(new Date().setMinutes(new Date().getMinutes() + 140))
};
我发现测试是不稳定的,因为我们的 CI 构建与本地构建的时区差异。测试数据用于所有测试服。
如何为我的所有测试设置 jest.setSystemTime() 而不是像本例中那样逐个文件?开玩笑 setSystemTime 不适用于全局范围
此外,我如何确保测试数据在我的个人测试之外占用系统时间?
解决方案
推荐阅读
- python - 我如何使用 urllib3 发布 XML
- php - 将数据绑定到 laravel 刀片时面临的问题
- node.js - 如何在 vscode 中调试子进程?
- wordpress - 如何在 Wordpress 评论的 rel 中添加 nofollow noopener
- c++ - 为什么以下弹出功能无法在主机或设备(cuda)上运行?
- javascript - 远程表单请求后 Chrome 滚动到页面顶部
- c# - 为什么我的 Raycasting 在 Unity3d 中不起作用?
- java - 从 json 响应转换为对象时,ObjectMapper 获得了额外的空间
- python - Tensorflow 1.x 的 feature_columns 项必须是 _FeatureColumn。给定类型是列表
- python - 如何直接在 python 代码中“使用 -m 运行”而不是像“python -m ...”这样的命令?