【问题标题】:Writing tests with http request without response使用 http 请求编写测试而没有响应
【发布时间】:2021-04-01 15:18:09
【问题描述】:
我需要准备一个 Java 测试(柑橘框架),初始步骤是发送一个 http 请求。不幸的是,我正在测试的应用程序没有用任何东西回复这个 http 请求,而我的测试框架预计会有响应,否则会产生错误。处理我想到的这种情况的最佳方法是在我的测试框架和实际应用程序之间使用某种代理,它将测试请求转发给实际应用程序并以 OK 状态回复测试框架 not等待应用程序的响应。
这有意义吗?假设我的测试将通过 maven 调用运行,我该如何准备这样的代理?
【问题讨论】:
标签:
testing
proxy
integration-testing
citrus-framework
【解决方案1】:
我看到以下选项:
- 一劳永逸:发送 Http 请求(在 Citrus 的发送操作中使用 fork 模式),根本不关心响应。只需忽略接收消息操作即可忽略 Citrus 中的响应。
- 预计超时:发送 Http 请求并使用接收超时操作来验证客户端在给定时间内没有收到响应
- 断言/捕获超时异常:使用 Citrus 中的断言或捕获动作来处理发送 http 请求时的超时异常
就我个人而言,我会选择选项 #2,在该选项中发送 Http 请求并验证在给定时间内没有响应。这可确保您的应用程序不发送任何响应的实际行为不会随着时间而改变。