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