comparing two REST services to each other

给你一囗甜甜゛ 提交于 2019-12-23 04:24:50

问题


Does anyone have any tips on writing tests that compare two REST services? We are doing this as a form of regression testing.

I was hoping to do something along the lines of:

  1. send a GET for "/1" to both services and compare the results
  2. send a POST to both services, and compare the results
  3. send a PUT to both services, and compare the results

The idea is that:

  • every operation is sent to both services
  • the results should be identical

The REST services are written in Java/Jersey, so using that would be ideal, but what have people found to be useful?


回答1:


Since this is a broad, non-coding question not strictly related to java, here are some related links:

  • The twitter open-source Diffy server, comparing primary, secondary and candidate endpoints: https://github.com/twitter/diffy
  • a similar, simpler http proxy: https://github.com/xthexder/httptee
  • Someone doing this using JMeter: https://dzone.com/articles/the-easiest-way-to-compare-rest-api-responses-usin
  • An Example using Postman post-response hooks to compare requests: https://documenter.getpostman.com/view/33232/difference-between-two-responses/2QsCkC
  • The Postman approach but using newman, a postman CLI client: https://github.com/indeedeng-alpha/newman-reporter-diff

Anyone feel free to edit my answer to add more alternatives demonstrating API response comparison




回答2:


I would use jUnit and some of the example test cases from the Jersey source as a starting point. Without knowing specifically how you want to determine "identical" responses, you can make a request to each in your test case and iterate through the response, convert it to a string and test for equals(), etc. Here is an example of a JSONP from JAXB test.




回答3:


Write Junit to get the response objects from both services. And then do the comparison in Java as you do normally for the objects.

But why do you have to write two services that does the same thing and return same results? Atleast I assume the response objects schema is different between two services.



来源:https://stackoverflow.com/questions/13178810/comparing-two-rest-services-to-each-other

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!