gpt4 book ai didi

java - 如何等待api请求返回响应?

转载 作者:行者123 更新时间:2023-11-30 02:24:18 29 4
gpt4 key购买 nike

我们使用基于放心库和 Testng 的专有框架来自动化 REST Web 服务的 API 测试。我看到一些 api 测试代码使用 Thread.sleep(n 秒) 来等待返回响应。这对我来说似乎是错误的,因为响应时间可能会有所不同。我相信应该有更好的方法来等待响应,即只等待必要的时间。也许我可以每隔几毫秒轮询一次,或者使用观察者(测试)-观察(api)设计模式,或者其他东西。我不确定。

如何等待 api 返回响应?

代码如下所示:

@Test
public void doApiTesting() throws Exception
{
framework.loginUser(User);
framework.createNewData();//Takes some time.
Thread.sleep(10000);
}

最佳答案

要么使用支持异步测试的测试框架,例如 ScalaTest (可以与java一起使用)或阻止调用。

例如,如果调用遵循 CompletionStage 接口(interface),您可以:

@Test
public void doApiTesting() throws Exception
{
framework.loginUser(User);
framework.createNewData()
.toCompletableFuture().get();
}

顺便说一句,我希望您没有在单元测试中对 API 或数据库进行外部调用。如果是的话,它们就不是单元测试;)

关于java - 如何等待api请求返回响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46064241/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com