java如何模拟HTTP响应
我是Java单元测试的新手。我面临的问题是,我需要开发一个JUnit测试来向服务器的API发送请求,以测试两个方法:addUser
和deleteUser
。如果我想从服务器添加/删除用户,我需要从服务器获取身份验证令牌;但是,由于服务器端的一些问题,我目前无法获取有效的令牌。因此,我想到的是模拟服务器的行为,即如果服务器接收到来自单元测试的请求,它可以使用指示添加/删除用户操作状态的JSON数据进行响应
因为我对JUnit完全陌生。我不知道如何实施这项行动。所以我的问题是,应用mock最简单的方法是什么
# 1 楼答案
您可以在单元测试中启动测试http服务器。 有几个框架可以做到这一点。例如Mockserver和Wiremock
# 2 楼答案
您可以使用HTTP Unit Testing from Google来实现这一点
为了生成简单的HTTP响应,您可以使用以下代码:
您还可以通过重写MockHttpTransport类的实现来定制测试
您可以查看here此回购协议以了解更多详细信息。我认为它适合你
# 3 楼答案
请参见:Mocking Apache HTTPClient using Mockito