工作中难免会写未来时间的活动,有两种方案让我选择
1
wu00 2022-10-15 16:07:40 +08:00 1
两分钟后不也算“未来时间”?
|
2
flyqie 2022-10-15 16:33:36 +08:00 via Android 1
个人倾向第二种。
第一种得单独规定,实际执行起来有可能利大于弊。 |
3
guo4224 2022-10-15 16:46:51 +08:00 1
mock 不香?
|
5
learnshare 2022-10-15 17:39:59 +08:00 3
Switch: 没想过用户会修改时间重刷 amiibo
|
6
xy90321 2022-10-15 17:56:48 +08:00 via iPhone 4
我司项目里的大部分系统,不管是系统时间还是业务时间都是通过自建 Wrapper 拿的,Wrapper 本身包含了时间模拟(真实物理时间➕Offset ,生产环境上 Offset=0 )的功能
所以测试环境上想要模拟未来时间或者过去时间,也只是改一个参数的问题 |
7
msg7086 2022-10-15 18:16:04 +08:00 1
https://github.com/travisjeffery/timecop
你们没有类似这种时间旅行用的测试用插件吗? |
9
WoodenTea OP @flyqie 我觉得第一种有太多不确定性,因为有一个变量的存在,测试环境和线上代码运行的逻辑都不一样,万一出现 bug 还是我来修改
|
11
WoodenTea OP @learnshare 我写的是后端,后端代码不会以客户端时间来作为判断标准
|
13
jones2000 2022-10-15 22:02:07 +08:00 1
自动化测试用例跑下不就可以了, 跑脚本配置好时间,然后跑测试用例, 最后跑脚本还原时间。
我还写过最变态的测试用例了,测试用例上写“在一个全新的系统上跑页面”, 每次都先跑自动安装操作系统,然后跑测试用了。 |
14
IvanLi127 2022-10-16 03:15:26 +08:00 via Android 1
当年实习的时候,在自己电脑测,会选第一种。现在,有容器,有虚拟机,还有独立物理机,改系统时间和玩一样,我选第二种。
|
15
Musong 2022-10-16 03:15:44 +08:00 1
我们这是#6 的做法,操作简单,给测试或产品管理工具加个配置项;而且修改时间本身的逻辑不影响项目,测试不用再针对这个东西做测试
|
16
akira 2022-10-16 06:14:54 +08:00 1
方案 2 不是说不可行,但是总觉得怪怪的。。。
|
17
matrix1010 2022-10-16 09:37:35 +08:00 via iPhone 1
是不是类似于用户注册 5 天后发邮件这种功能,你想在测试环境手工测测?那可以把 5 天放配置文件里,直接改测试环境的配置
|
18
foam 2022-10-16 09:57:41 +08:00 via Android 1
你可以把 获取当前时间 这个(业务级或使用的语言库函数级)方法 mock 掉。mock 和前后端没有关系,都是为了模拟依赖资源。
|
20
WoodenTea OP @matrix1010 比如某天 22 点 0 分开始有一个抽奖活动,时间没有到用户进入界面要展示距离开始还有多少时间,时间到了之后要展示距离活动还有多久结束
|