Specflow BDD: C# Testing Mastery
- Description
- Curriculum
- FAQ
- Reviews
Welcome to the ultimate guide to mastering Behavior-Driven Development (BDD) with Specflow in C#!
In this comprehensive course, you will embark on a journey to become a testing maestro, seamlessly integrating Specflow into your C# projects. Whether you’re a seasoned developer or just starting, this course is your key to unlocking the full potential of BDD for automated testing.
What You’ll Learn:
-
Foundations of BDD: Grasp the core concepts and principles behind Behavior-Driven Development.
-
Hands-On C# Implementation: Dive deep into C# as you learn to implement Specflow in real-world projects.
-
Practical Test Automation: Master the art of creating robust and maintainable automated tests using Specflow.
-
Integration and Best Practices: Seamlessly integrate BDD into your development workflow and apply industry best practices.
Why Enroll:
-
Expert Guidance: Learn from industry experts with years of experience in Specflow and BDD.
-
Career Advancement: Boost your resume with valuable automation testing skills.
-
Project-Based Learning: Gain practical experience through hands-on projects and exercises.
-
Lifetime Access: Access to course materials and updates for a lifetime.
Who Is This For:
-
Software Developers and Engineers
-
QA Engineers and Testers
-
Anyone looking to enhance their testing skills with Specflow BDD in C#
By the end of this course, you’ll be equipped with the knowledge and skills to confidently implement Specflow in your C# projects, ensuring robust, efficient, and high-quality software development.
Join us now, and let’s embark on this journey to elevate your testing expertise!
Enroll today and take the first step towards becoming a Specflow BDD master!
-
1IntroductionVideo lesson
Today we will have an introductory lesson and discuss what we will learn during this course. Also, we will discover the benefits of enrolling in this course and what will wait for you in the end.
-
2Communication PlanVideo lesson
Today we will learn:
How we are going to communicate to make sure that the learning process is efficient
Where to ask questions
How to ask questions
Communication channels, where you can reach out to me.
-
3How to Use ResourcesVideo lesson
In this video lesson you will learn how to use resources for the lectures.
-
4Tips to improve your course taking experienceText lesson
-
5What is the project we will work on?Video lesson
Today we will discuss the following:
What our project that we will work is.
How we manage to work at it.
What do we want to do with it.
How it is related to real-life projects you will work at.
-
6What will we achieve in the end?Video lesson
Today we are going to discuss what the project that we will have at the end of our tutorial is and how it is related to real-world projects.
-
7What is BDD?Video lesson
Today we will learn:
Brief BDD introduction
The basics of BDD
The BDD process
The BDD benefits
Why BDD is needed
-
8Real life samples from BDDVideo lesson
Today we will learn:
Brief description of a real-life sample of BDD
Main Principles of pure BDD
Key components of BDD at a project
Real-life application
BDD benefits in the example.
Why it is nice to apply BDD to a project.
-
9Home task review BDDVideo lesson
Today we will discuss the resolution of the following home task:
Create a BDD scenario for an e-commerce website.
Select an area of your interest (any flow at an e-commerce website).
For an explanation of the home task, order placement in a shop card scenario will be used.
User Given-When-Then format
Try to use only one When step
Use commonly understandable language for it.
-
10What is SpecFlow BDD in C#Video lesson
Today we will learn:
Brief history of SpecFlow BDD in C#
The main features of SpecFlow C#
Advantages and disadvantages of the tool
The similarities with other C# BDD libraries.
-
11Visual Studio Community Edition InstallationVideo lesson
Today we will learn:
What is IDE?
What are the most popular IDEs for C# development?
Why Visual Studio?
How to install Visual Studio to your machine?
How to perform the basic configuration of Visual Studio?
-
12.NET 6 - InstallationVideo lesson
Today we will learn:
.NET Versions – which one to use?
How to check the current .NET version.
How to download .NET installer.
How to install .NET via installer.
-
13Setup right structure of project, folders, add dependencyVideo lesson
Today we will do the following:
Add SpecFlow NuGet package.
Add SpecFlow.Tools.MsBuild.Generation NuGet package.
Add SpecFlow.NUnit NuGet package.
Add features and steps folders.
Make sure all the packages are loaded.
Install SpecFlow extension for Visual Studio.
-
14Create simple scenario to add two numbersVideo lesson
Today we will do the following:
Create TwoNumbersAdditionSteps class in steps folder
Create twoNumbersAddition.feature in features folder
Create a scenario with two Given, one When, and one Then steps
Create step mappings in TwoNumbersAdditionSteps class.
Store NumberOne, NumberTwo, and result in separate fields of the class.
Assert two numbers sum with NUnit assertion.
-
15Move simple Get Board scenario to BDD format in one single classVideo lesson
Today we will do the following:
Add getBoards.feature to features folder
Add GetBoardsSteps in steps folder
Copy-paste RequestWithoutAuth() and RequestWithAuth() methods from BaseTest class.
Set RestSharp base URL in requestWithoutAuth() method
Convert each line of CheckGetBoardTest into BDD step def.
Create request and Response private fields in GetBoardsSteps class.
Make all assertions via NUnit.
-
16Move simple Get Board scenario to BDD format in one single class - HometaskVideo lesson
Today, we will discuss the following:
Migration of NUnit 3 test to SpecFlow BDD Scenario.
Scenario steps definition in feature file.
Scenario steps mapping in Steps class.
Merge of similar steps into single.
-
17Remove test data from steps, step argumentsVideo lesson
Today we will:
Discuss SpecFlow step parameters.
Install Cucumber Expressions Specflow 3-9 package.
Inject dynamic query params for REST Request.
Merge path params setup steps into a single step.
Use a single step for checking any status code.
Verify response against any JSON Schema.
Verify any body param for any expected value
-
18Remove test data from steps, step arguments - HometaskVideo lesson
The home task for today's lesson is:
Transform UpdateBoardTest class into feature file.
Parameterize the request is sent to endpoint step.
Add step that passes body params to REST request.
Use hard-coded value for updated board name temporarily.
-
19Data tables for couple parameters in stepsVideo lesson
Today we will do the following:
Discuss what Data Table in SpecFlow is.
See where Data Table is used.
Add data table for query and path params injection.
Use data table with headers.
-
20Data tables for couple parameters in steps - HometaskVideo lesson
The home task for today is:
Transform as many parameters as we can to data tables.
Use data table for response body validation.
Initialize request body as data table dictionary.
-
21OutlinesVideo lesson
Today we will do the following:
Migrate board validation tests to Outlines
Split feature files by packages.
Remove already migrated NUnit test classes.
Add 'request without auth' Given step.
Add step to check response body as string.
-
22Outlines - HometaskVideo lesson
The hometask for today's lesson is massive:
Migrate update, create and delete board scenarios to outlines.
Delete migrated Test classes.
Delete unused validation arguments holders and providers.
Delete unused Boards Endpoints URLs.
-
23BackgroundsVideo lesson
Today we will discuss the following:
What are Backgrounds.
How are the Backgrounds used.
Apply Background for Get Boards feature.
Why no hometask is needed today :)
-
24Ways to share data between stepsVideo lesson
Today we will:
Create TestContext class.
Put all data to share to TestContext.
Learn what ThreadLocal is.
Wrap all data to share with ThreadLocal.
Split your steps into action and assertion.
-
25Ways to share data between steps - HometaskVideo lesson
The hometask for today's lesson is:
Use more elegant way to share test data.
Get rid of static keywords in your test context.
Inject TestContext as your step classes' fields.
Run all the tests to check your updates.
-
26Step arguments transformersVideo lesson
Today we will:
Learn what Step Arguments Transformers are.
Merge two steps to create request.
Create an enum to store endpoints.
Use arguments transformer to work with the enum
-
27Step arguments transformers - HometaskVideo lesson
The hometask for today's lesson:
Remove key and token from scenario.
Create a IDictionary Transformer class.
Use [StepArgumentTransformer] attribtue.
Store key and token values in Constants class.
-
28Hooks and tagsVideo lesson
Today we will learn:
What are hooks and tags in SpecFlow.
Add Delete Board feature.
Add a step to assert board absence.
Add a hook to create board before scenario.
Add Request Auth provider class.
-
29Hooks and tags - HometaskVideo lesson
The hometask for today's lesson is:
Add Create Board feature.
Run a deleteBoard hook after scenario.
Add a step to assert board presence.
Remove migrated tests.
Remove not needed contants.
External Links May Contain Affiliate Links read more