Table of Content
Introduction to Behavior-Driven Development
- Behavioral Driven Development - What Is BDD?
- What Is Cucumber and What Is Gherkin?
- Why Learn Gherkin?
- Gherkin - A Universal Language
- Gathering Business Requirements
- User Stories with Gherkin
- Testing with Gherkin
- Single Source of Truth
- Gherkin Workflow
Gherkin Crash Course
- Keywords Introduction
- Feature Keyword
- Scenario Keyword
- Given Keyword
- When Keyword
- Then Keyword
- And Keyword
- But Keyword
- * (Asterisk) Keyword
- Main Keyword Recap
- Rule Keyword
- Background Keyword
- Scenario Outline/Examples Keyword
- @ Tag Keyword
- Comments
- Long Description
- Datatable
- Multiple Languages
- Gherkin Keyword Rules
Introduction to Specflow
- What Is Specflow?
- Why Learn Specflow as a .NET Developer?
- What Is the Purpose of an Acceptance Test?
- Types of Specflow Tests
- High-Level Specflow
- Installing Specflow Extensions for Visual Studio
- Installing Specflow Extensions - Visual Studio Code
- Test the Specflow Extension - New Specflow Project
Getting Started with Specflow - Binding Steps
- Clean Slate Specflow
- Creating Specflow Class from Scratch
- Binding Steps Introduction
- Fixing Unbound Steps
- Alternative Binding Styles
- Changing Default in Config
- Running Tests for the First Time
Specflow - How Parameters Are Handled
- Debug Parameters
- Strings and Ints Parameters
- How Datatables Are Handled in Parameters
Gherkin Datatables - Specflow Table Assist
- Table Assist Helper
- Create Instance Helper Method
- Assert Using Helper Method CompareToInstance
- Assert Using Helper Method CompareToSet
- Fixing Implementation
Introduction to Specflow Hooks
- Hooks introduction
- Hooks Logging
- Output API Overview
- Why Use Hooks?
- Hook Order
- Test Run Assembly Location
- Passing in Context Dependencies into Hooks
- Getting Error Test Property in Hooks
Splitting Features and Steps
- Ignore and Context Pending
- Organizing Features and Steps Ideas
- Refactor with Split Step Files
- Refactor Without Static in Split Files
Sharing Data in Specflow - Context and Dependency Injection
- Specflow Context System - Using System Property Bag
- Merging Scenario Context Properties into One
- Context Base Class Approach
- Base Class Scenario Context with Dependency Injection
- Built-In Dependency Injection
- Sharing Data Method - Comparison Roundup
Advanced Specflow - Value Retrievers
- Value Retrievers Datetime
- Value Retrievers Enum
- Custom Value Retriever
- Custom Comparer
- TD Custom Value Retriever Boolean
- Custom Value Retriever - UserType Challenge
- Custom Value Retriever - UserType Challenge Solution
- DateTime Null Values
- Interpret Nulls with Null Value Retriever
- Custom String Retriever Handle Nulls
- Custom Retriever Comma-Separated List
- Dynamic Data Custom Value Retriever
Step Argument Conversions
- About Step Argument Conversions
- Step Argument Conversion Challenge
- Step Argument Conversion Challenge Solution
- IEnumerable Table Step Argument Transformation
- Step Argument Order Precedence
Advanced Specflow - Hooks and Scopes, Async
- Async Step Definitions
- Hook Scope Restriction
- Hook Scope Restriction - Multiple As OR
- Hook Scope Restriction - Feature Level
- Hook Scope As AND
- Scoped Bindings Step Definitions
Running Tests with Specflow
- Trait View Test Explorer
- Commandline dotnettest
- Commandline vstestconsole
- Azure Integration
- Parallelize Tests MsTest
- Parallelize Tests NUnit
- Parallelize Tests XUnit
- Parallelize Tests Specflow Runner
Organizing Features and Steps
- Tidy Up Project Separate Feature Files – Part 1
- Tidy Up Project Separate Feature Files - Part 2
- Tidying Up Project - Separate Business Models
Apply for Certification
https://www.vskills.in/certification/specflow-certification-course