This repository contains test projects examples for the .NET ecosystem used in the Integration Testing in .NET 9 course.
- Understand and define the purpose of integration testing.
- Identify benefits and challenges of integration testing.
- Organize test files, folders, and test data effectively.
- Integrate the main project and manage test dependencies.
- Compare MSTest, xUnit and NUnit, understanding similarities and differences.
- Set up and write integration tests using Nunit.
- Use WebApplicationFactory for ASP.NET Core applications.
- Set up test services and mock dependencies.
- Testing Query Parameters and Request Headers and Status Codes.
- Utilize test lifecycle features in NUnit ([SetUp], [TearDown]).
- Write and manage async integration tests in .NET 9.
- Implement async setup and teardown methods.
- Avoid pitfalls in asynchronous testing.
- Understand BDD and write feature files with Cucumber.
- Use SpecFlow for integration test execution.
- Decide between real and mocked dependencies in tests.
- Configure Dependency Injection for integration tests.
- Use mocking tools and techniques effectively.
- Integrate reporting tools for test results.
- What is Integration Testing?
- Setting Up a Testing Environment in .NET 9
- Working with ASP.NET Core TestHost
- WebApplicationFactory in .NET
- Configuring Test Environments and Dependencies
- Introduction to Dependency Injection in .NET 9
- Overview of mocking libraries in .NET 9
- Advanced Dependency Injection
- Introduction to HttpClient in .NET 9
- Testing HTTP Endpoints with HttpClient
- Testing Query Parameters and Request Headers and Status Codes
- Error Handling in Integration Tests
- Structured Logging in Tests
- Using Diagnostics and Tracing for Debugging
- BDD Concepts
- Cucumber and SpecFlow Overview
- Setting Up a SpecFlow Project in .NET 9
- Creating a Feature File for ASP.NET Core APIs
- Writing Step Definitions for API Scenarios
- Handling Reusable Steps and Common Test Logic
- Running Tests and Generating Reports