pai*_*ign 7 php java automated-tests acceptance-testing microservices
如果我有微服务,它应该创建用户,但由于用户创建很复杂,它使用队列,用户实际上是由消费者创建的,端点只接受请求并返回正常或失败.
如何为此验收标准创建验收测试:
给定:想要注册的用户
何时:请求api 创建用户
然后:创建用户并为新用户设置托管环境_id
为此,我必须等待环境实际设置,这需要30秒.如果我在我的测试中实现睡眠,那么我点击反模式等待,看看如何正确测试它而不失败最佳实践?
最合适的可能是,要立即返回响应,假设“安装过程已启动”(使用安装过程 ID),然后使用另一个 API 方法,该方法将“获取安装状态”(对于该安装过程 ID),然后继续,当“设置已完成”时。
因为,类似地,无论是在测试还是生产中,都不会卡住 30 秒 - 并且可以向用户显示一个进度条,指示当前状态,以便他们能够估计需要多长时间 - 同时不会得到给人的印象是某件事被卡住或无法工作。
几乎无法异步测试,而设置过程本身不会是异步的;没有任何状态指示器的长时间运行的任务几乎不能接受交付 - 因为这只有在知道后台发生的情况时才显得有效,但在不知道的情况下则不然。
每当测试遇到反模式时,这都表明该解决方案可能不是最佳的。
| 归档时间: |
|
| 查看次数: |
271 次 |
| 最近记录: |