我正在discord.js 中创建一个discord 机器人并使用Jest 编写单元测试。
它是一个人工智能艺术机器人,有一个名为 /generate 的命令,可以使用第 3 方 API 生成图像。此第 3 方 api 在 10 分钟后超时 - 因为有时图像在其端没有生成。
我有代码每 5 秒轮询一次生成状态,10 分钟后超时。
测试我的命令 /generate 在 10 分钟后超时是否有意义?如果是,我将如何模拟第 3 方 API?测试时我是否必须等待整整 10 分钟,或者我该如何实际测试?
是的,测试这可能是有意义的。将超时持续时间设置为变量,并在生产中将其设置为 10 分钟,但在开发中将其设置为更短的时间段(几百毫秒)。本质上,您的代码应该 ping API,在这么短的时间内没有得到响应,并且“超时”。这可以让您测试重置过程。
如果您确实想测试它是否在 10 分钟后超时,可能最好手动执行此操作。等待 10 分钟才能运行测试会很烦人。