【发布时间】:2017-10-09 13:22:36
【问题描述】:
我是 Java 单元测试的新手。我面临的问题是我需要开发一个 JUnit 测试来向服务器 API 发送请求来测试两种方法:addUser 和deleteUser。如果我想从服务器添加/删除一个用户,我需要从服务器获取一个认证令牌;但是,由于服务器端的一些问题,我目前无法获得有效的令牌。所以我想到的是模拟服务器的行为,如果服务器接收到来自单元测试的请求,它可以响应一个 JSON 数据,指示添加/删除用户操作的状态。
因为我对 JUnit 完全陌生。我不知道如何实施该操作。所以我的问题是应用模拟的最简单方法可能是什么?
【问题讨论】:
-
Mockito 是您应该寻找的工具。有一篇关于这个的文章stackoverflow.com/questions/22714359/…
-
之前已经回答过类似的问题:stackoverflow.com/questions/606352/…
-
您实际测试的是什么?你说你想测试服务器 API 的两种方法。然后你想用一个模拟替换服务器。如果您这样做,那么您将不再测试服务器 API。您确实需要清楚地知道要测试系统的哪些部分,以及要模拟哪些部分。
-
如果你真的想测试向服务器发送 HTTP 消息的部分,很大程度上取决于你使用的库。例如,如果您使用 Spring 的
RestTemplate,那么您可以使用 Spring 的模拟服务器来模拟通信。其他库可能需要其他工具。如果你能告诉我们你正在使用什么以及你想测试什么,那将有助于回答...... -
@dopatraman 的要求听起来不像是单元测试,而是集成测试,你对赏金答案的期望是什么?
标签: java unit-testing junit mockito