Comments (4)
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.
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.
- 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
- Refer my Dzone article here :- https://dzone.com/articles/kotlin-spring-bootspring-data-h2-db-rest-api
- Refer github repo here:- https://github.com/BeTheCodeWithYou/SpringBoot-Kotlin
6. Kafka Supports - allows you to test your producer and consumers with simple
- Visit here: https://github.com/authorjapps/zerocode/wiki/Kafka-Testing-Introduction
- Also visit this page for What is Zerocode Testing
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.
Thank you for this. Will join this Gitter room.
from spring-boot-integration-test.
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spring-boot-integration-test.