我正在为类似HTTP REST的API编写测试。这些测试是端到端测试,可以与正在运行的应用程序(Web服务器,数据库,所有内容)进行通信。
我正在寻找测试基于时间的功能的好方法。由于它是端到端测试,因此我不能简单地模拟与时间相关的功能。
以Google日历为例。
Scenario: Event notification
Given it is 15:09
When I create new event starting at 15:20 with email notification 10 minutes in advance
Then I receive email notification within next 3 minutes
对于单项测试,我只能准时创建并等待电子邮件,但是当我重复活动(例如每周一次)时,下周将需要测试通知。
我当时在考虑发送标头,这会(在开发环境中)更改应用程序时间,但是发送通知的工作程序在单独的进程中运行,并且不会受到影响。