Skip to main content

Posts

Showing posts with the label Behavior Driven Development

BDD Series (4) — karate API testing. Hands-on!

Photo by  Jason Briscoe  on  Unsplash In our previous post  Anatomy of a feature fil e, we talked about the feature files, the Gherkin syntax, and Gherkin keywords. In this post, we will see a quick overview of Intuit Karate based on Gherkin. Karate DSL uses Gherkin syntax, If you’re new to Cucumber & Gherkin, I highly recommend reading the previous post to understand terminologies. Why Karate Cucumber , the flagship BDD framework, popularized the  programming language-neutral , behavioral test constructs, written in  human languages  using Gherkin.  The  human-language  test steps mentioned in the  feature file  are backed by programming-language-dependent  Step-Definition  files, that are processed by the Cucumber engine. In today's world, development teams often work on Headless systems, which are comprised of only the backend APIs .  The Gherkin steps to test such systems are fixed. Such as but not limite...

BDD (2) — Cucumber & Gherkin.

In our previous post  Behavior Driven Development  we discussed BDD. Here, let's look at  Cucumber.  The flagship BDD framework for java, but not limited to Java. Why Cucumber As we saw in the previous post, until the Automation phase, BDD is all about discovering and formulating  behavioral scenarios  through collaboration. Its the automation phase, where things really happen. It would be easy if we could write these behavioral scenarios in plain English ( or another preferred spoken language ) and runtime could understand and execute those for us. This is where Cucumber comes to the rescue. Cucumber Cucumber is a framework that let us write application-behavioral-expectations in meaningful spoken-language-text using  Gherkin. Cucumber implementations are available in many programming languages as shown below. Courtesy — Cucumber.io supported programming languages NOTE: It's recommended (not mandatory) to choose an implementation for the same platform...