gpt4 book ai didi

java - 对异步代码进行单元测试是一种好习惯吗?

转载 作者:行者123 更新时间:2023-11-30 10:07:42 24 4
gpt4 key购买 nike

通过让线程等待异步代码完成,绝对可以测试异步代码。但是,是否鼓励测试异步代码。或者,我们是否应该分离逻辑并只测试同步部分?

例如,在我的应用程序中,我会进行 REST API 调用以从服务器获取 json,然后我需要解析 json。

有两种方法:

  1. 整体测试抓取和解析。我们可以使用MockWebServer 来模拟超时和响应。

    -缺点:它会带来一些复杂性。

  2. 只测试解析部分,因为我们无法控制API调用部分;它由 okhttp

    控制

    --缺点:难以解决超时情况。

最佳答案

由于您的问题专门询问“单元测试”,因此简单的回答是“否”。除非您测试的单元对异步调用的结果不感兴趣,否则它不是您单元的一部分。单元测试应该只确保您的单元正常工作。在这种情况下,您应该验证异步调用是否已正确分派(dispatch)(因此这将是一个白盒测试)。

关于java - 对异步代码进行单元测试是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54120306/

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