RestAssured vs Mockmvc进行单元和集成测试

时间:2018-03-13 12:15:52

标签: rest-assured mockmvc

我被要求从单元和集成测试中选择这两个中最好的一个 -

1. RestAssured
2. Mockmvc

该应用程序位于Spring和Spring Boot中。我看过很多博客,没有给出明确的区别,也没有找到。为了放心,它整洁干净的代码和BDD风格使其更具可读性。但听起来并不令人信服。一些测试是使用Mockmvc编写的,我试图在RestAssured中编写相同的内容来进行比较。

我知道这可能听起来像是一个理论问题,但我无法得到支持,并建议哪一个更好,为什么。看起来像是对我的选择。有什么意见和建议吗?

1 个答案:

答案 0 :(得分:0)

您将选择 MockMvc 进行Web层测试。这些测试将使您能够验证控制器类是否正确处理了相应的HTTP请求。由于这些实际上是细粒度的控制器单元测试,因此您可以使用JaCoCo之类的工具将它们作为应用程序代码覆盖率的一部分包含在内。附带说明一下,由于这些测试不需要网络服务器在其上运行,因此它们的运行速度可能比集成测试快。

RestAssured 用于Spring Boot应用程序中的集成测试。当涉及基于RESTful的API集成测试和验证时,RestAssured提供了便捷的方法来创建和执行带有自定义标头,身份验证,内容类型,查询参数,有效负载内容,Cookie等的HTTP调用。

为帮助您进行比较,请查看这篇文章Testing Spring Boot RESTful APIs using MockMvc/Mockito, Test RestTemplate and RestAssured-它对RestAssured和MockMvc的用法有很好的解释和可靠的示例。