Behaviour-Driven Development using Cucumber
This course explains what behaviour-driven design is all about, describes why its a beneficial approach to application development and testing, and shows how to do BDD using Cucumber. Cucumber is the leading framework for BDD in Java, and it ties in well with a host of application types and Java technology APIs. Youll learn all about these integrations during the course.
What you will learn:
- What is BDD
- Achieving BDD using Cucumber
- Understanding Cucumber API and features
- Using Cucumber with databases, DI containers, and Web/REST applications
Prerequisites:
Familiarity coding and/or testing Java applications
Course outline:
Introduction to BDD and Cucumber
Getting started with behaviour-driven development
- Overview of Cucumber
- How Cucumber works
- Tooling up
Getting Started with Cucumber
- Creating features
- Creating step definitions
- Implementing step definitions
- Testing our classes
- Making assertions
- Making the tests work
Getting Started with Gherkin
- Overview of Gerkhin
- Features
- Scenarios
- Comments
- Spoken languages
Step Definitions External Perspective
- Steps and step definitions
- Capturing arguments
- Multiple captures
- Achieving more flexibility
- Returning results
Cucumber Best Practices
- Issues
- Collaboration
- Writing maintainable tests
- Guidelines for preventing defects
Step Definitions Internal Perspective
- Domain model
- Transforms
- Custom helper methods
- Dependency injection
Enterprise Development
- Asynchronous architecture
- Message queues
- Asynchronous components
Databases
- Interactive database development
- Refactoring to use a database
- Writing and writing to the database
- Cleaning the database
Dependency Injection
- Overview of DI
- DI in Cucumber
- PicoContainer
- Guice
- Weld CDI
Web Applications
- Overview of Selenium WebDriver
- Interacting with the DOM
- Handling failures
- Ajax
REST Web Services
- Overview of REST
- REST and Cucumber
- Guidelines and best practices
Andy Olsen - author of the course
Andy is a freelance consultant and instructor based in the UK, working mostly in the City of London and Oxford. Andy has been working with .NET since the Beta 1 days and has extensive experience in many facets of .NET development including WCF, WPF, WF, ASP.NET MVC Web development, and mobile applications. Andy has designed and written many Microsoft Official Curriculum courses in the last decade, and has been engaged as author and technical reviewer with Apress on some of their biggest selling books.