【问题标题】:comparing two REST services to each other比较两个 REST 服务
【发布时间】:2012-11-01 14:08:34
【问题描述】:

在编写比较两个 REST 服务的测试时,有人有什么建议吗?我们这样做是作为回归测试的一种形式。

我希望做一些类似的事情:

  1. 将“/1”的 GET 发送到两个服务并比较结果
  2. 向这两个服务发送 POST,并比较结果
  3. 向两个服务发送 PUT,并比较结果

这个想法是:

  • 每个操作都发送到两个服务
  • 结果应该相同

REST 服务是用 Java/Jersey 编写的,因此使用它是理想的,但人们发现什么有用?

【问题讨论】:

    标签: java unit-testing rest jersey integration-testing


    【解决方案1】:

    由于这是一个与 java 没有严格关系的广泛的非编码问题,这里有一些相关链接:

    任何人都可以随意编辑我的答案以添加更多替代方案来展示 API 响应比较

    【讨论】:

      【解决方案2】:

      我会使用 jUnit 和来自 Jersey 源的一些示例测试用例作为起点。在不具体知道如何确定“相同”响应的情况下,您可以向测试用例中的每个响应发出请求并遍历响应,将其转换为字符串并测试equals() 等。这是一个示例JSONP from JAXB test.

      【讨论】:

      • 是的,这行得通,但我希望有一个框架可以为我完成大部分工作,而不是我必须从头开始编写任何东西。
      • jUnit 会为您做很多工作,但它不可能自动知道您想要与 assertTrue 的响应完全匹配。在某些情况下,您很可能想要相反。无论如何,实现将相当简单。
      【解决方案3】:

      编写 Junit 以从两个服务中获取响应对象。然后像往常一样在 Java 中对对象进行比较。

      但是为什么你必须编写两个服务来做同样的事情并返回相同的结果呢?至少我假设响应对象架构在两个服务之间是不同的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-02-17
        • 2012-06-14
        • 2019-05-02
        • 2011-09-29
        • 2017-05-01
        • 2017-11-01
        • 1970-01-01
        相关资源
        最近更新 更多