Giter Site home page Giter Site logo

How different it is from Rest Assured framework or what is the advantage over Rest assured ? about spring-boot-integration-test HOT 4 CLOSED

authorjapps avatar authorjapps commented on June 13, 2024
How different it is from Rest Assured framework or what is the advantage over Rest assured ?

from spring-boot-integration-test.

Comments (4)

authorjapps avatar authorjapps commented on June 13, 2024 3

Hello @ashoksl mate, when you get chance, please join Gitter where someone from the community can help you in general QnAs as well as on all things related to testing.

Gitter link : https://gitter.im/zerocode-testing/help-and-usage

Please say Hello once you join 👍

@BeTheCodeWithYou , thanks for your reply. Appreciate it mate !

@ashoksl , Good question mate. The features are just too many to list them here, it's good to give a demo to your team to feel the experience of the simplicity.

Zeorocode has got these advantages over any BDD tools in the open source realm, not only over RestAssured. So it will be unfair only to compare Zerocode vs RestAssured.

RestAssured is there since long ago and we all have used it, to be honest. But here, we(as a community) have not intended to solve any RestAssured challenges, we have solved API testing challenges which have never been addressed so elegantly in any other framework yet.

:::Note::: Zerocode also solves Kafka(distrubuted streaming) testing challenges.

In fact, all the tools in the market try to solve some kind of testing challenges, but fall back in terms of simplicity and introduce another layer of complexities and syntaxes to deal with; which means the fuss still remains and developer/tester has to deal with fire-fighting on daily basis.

Zerocode has taken a different approach to solve the fuss involved in the REST API testing without making any noise about it. When using zerocode, your REST API automation testing becomes more elegant and straight forward. It is more maintainable and easy to use.

Zero distractions, Zero syntax overhead

Another beauty about Zerocode is all the helps are available in the README file along with the working code examples, that means, when we see things working from our IDE, all our doubts seize.

Hope it clarifies your question, we would love to help you out in case of any challenges you face!

Happy testing 🐼

from spring-boot-integration-test.

BeTheCodeWithYou avatar BeTheCodeWithYou commented on June 13, 2024 1

Sure @ashoksl , actually there are plenty of features to make life easier with ZeroCode.
I will try to list down the ones which are mostly used and makes our life easier for writing for integration tests.

  1. ZeroCode doesn't require any line of java code in the corresponding java test file whereas rest assured or any other framework needs the pattern given when then.
    Write up given when then is time taking and has a learning curve for a non-java developer or manual tester, as well as agreeing to the semantics is painful.

Assertions are super easy, it tells you what all things failed at once, rather that failing for first mismatch. This saves lot of time in fixing and waiting for next failure in the assertions.

In zerocode java test file, you would just do two steps. give when then is implicit and taken care by zero code framework.

a) Annotation to tell framework which property file to read from.

@TargetEnv("application_host.properties")
@RunWith(E2eJunitRunner.class)

b) Annotation for the test case json file path

@Test
@JsonTestCase("integration_tests/get/get_new_customer_by_id_test.json")
public void test_getNewCustomerDetailsById() throws Exception {
		
       // Zero code/ No code here

}

Test Case in JSON format is very easy.. Example.

{
   "scenarioName":"Get ParkRuner by Id with valid and invalid parkrunId",
   "steps":[
      {
         "name":"get_parkRunner_byValidId",
         "url":"/parkrun/api/v1/runners/1",
         "operation":"GET",
         "request":{},
         "assertions":{
            "status":200,
            "body":{
               "parkRunId":"$NOT.NULL"
            }
         }
      },
      {
         "name":"get_parkRunner_byInvalidId",
         "url":"/parkrun/api/v1/runners/999",
         "operation":"GET",
         "request":{ },
         "assertions":{
            "status":404,
            "body":{
               "code":"404",
               "message":"$CONTAINS.STRING:Not Found"
            }
         }
      }
   ]
}

Important point to note here is - any non-java developer or manual tester can start writing test cases from day 1, resulting into TDD approach.

Basically you know the expected output, and actual input to the "application under test"

I would strongly recommend to read my article here at medium on best approach for writing zero defect api with zero code. This will give you more insights
https://medium.com/@bethecodewithyou/develop-zerodefect-apis-with-zerocode-cadd9dc2a430

OR my blog at https://extremeportal.blogspot.com/2018/10/develop-zerodefect-apis-with-zerocode.html

2. Performance Testing is a matter of few mins!
More here : https://github.com/authorjapps/performance-tests

3. Java method call directly from the json test case

In a scenario where you want to assert result of a DB query, you just need to mention that class name, method name and just assert in json. It's very easy and useful.

Please refer here for sample:- https://github.com/authorjapps/SpringBoot-ZeroCode-Integration/blob/master/src/test/resources/integration_tests/get/dbexecutor/get_parkrunners_using_db_executor.json

4. API Chaining made ultra easy

It's super easy to feed response of 1st api call into the request of 2nd api call.

5. Kotlin supports - yes, you can easy write integration test for Kotlin appliation

6. Kafka Supports - allows you to test your producer and consumers with simple

7. Test Reports are very intuitive and gives detailed view just by scanning at once.
see report sample here - https://github.com/authorjapps/SpringBoot-ZeroCode-Integration/blob/master/img/report_search_test_by_co-relationId.PNG

8. Jenkin integration supports - Being your integration test project as gradle or maven makes it easy to integration with any build tools like Jenkins.

Some insights on build pipeline setup approach is given in my article at https://extremeportal.blogspot.com/2018/10/develop-zerodefect-apis-with-zerocode.html

Hope this helps mate! Cheers 👍

from spring-boot-integration-test.

ashoksl avatar ashoksl commented on June 13, 2024

Thank you for this. Will join this Gitter room.

from spring-boot-integration-test.

authorjapps avatar authorjapps commented on June 13, 2024

As this was an interesting question, we have raised another ticket to draw comparisons between other popular tools vs Zerocode.

Ticket is here-
authorjapps/zerocode#206

(We will capture the points soonish. That will help all)

from spring-boot-integration-test.

Related Issues (4)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.