Five-Project Series

Automated Testing for C# Developers you own this product

prerequisites
intermediate C# • Visual Studio • ASP.NET and web development
skills learned
writing and running unit tests • using mocks, stubs, and fakes • set up a CI server to automatically run tests • refactoring with Visual Studio
Dror Helper
4 weeks · 5-9 hours per week average · BEGINNER

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


In this series of liveProjects, you’ll learn to design and implement automated testing for C# applications. You’ll go hands on with the everyday practices and tools developers use to ensure their software is effective and easy to maintain. Because all the tests you’ll learn are automated, you’ll free yourself from time-consuming manual testing and bug finding. Each project in this series covers a new form of C# automated testing, so you can pick the skills most relevant to your needs.

These projects are designed for learning purposes and are not complete, production-ready applications or solutions.

here's what's included

Project 1 Unit and Integration Tests
In this liveProject, you’ll learn to write effective unit tests for an existing ASP.NET e-commerce application. You’ll start by analyzing where unit tests can be implemented, then write and run those tests using Visual Studio and best practices. You’ll refactor those tests to the Builder pattern in order to reduce test code and improve maintainability. Finally, you’ll set up integration tests for code that rely on external dependencies, and use your tests to guide the creation of new functionality for your app.
Project 2 Isolate Dependencies with Mocks
External services, databases, and other dependencies are hard to run in a predictable way and can often cause test failures when there is no issue in your code. In this liveProject, you’ll isolate unnecessary dependencies and replace them with mock objects that have more manageable behavior. You’ll then be able to develop isolated unit tests, which do not break due to external reasons, are easy to write and run, and have fast execution times.
Project 3 Continuous Integration Pipeline
In this liveProject, you’ll create a continuous integration pipeline for your tests. Continuous Integration (CI) automates the testing of code whenever the code changes. This ensures code quality remains high and encourages regular merging and testing. You’ll use Azure DevOps to create and run a CI pipeline to build code, then run XUnit-based tests, set up filters for different tests, and add code coverage for analysis of run results.
Project 4 BDD and Acceptance Tests
In this liveProject, you’ll ensure your system behaves according to customer requirements by implementing acceptance tests. You’ll use SpecFlow and Gherkin to test existing functionality, WireMock to test each service with a fake interaction between services, and, finally, use behavior-driven development (BDD) and test-driven development (TDD) to create a new service.
Project 5 Working with Legacy Code
In this liveProject, you’ll refactor poorly written legacy code in a way that lets you make changes without fear of bugs. You’ll fix the internal structure of your code, make sure code functions according to your needs with integration tests, and make in-depth changes supported by your testing suite. Finally, you’ll develop new features inside code without major changes, and replace dependencies with mock objects to help test previously unmaintainable code.

choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Automated Testing for C# Developers project for free

project author

Dror Helper
Dror Helper is a freelance software developer and architect with twenty years of experience. He has worked for large enterprise companies including Intel and SAP, as well as startups. He has appeared in conferences worldwide since 2012 speaking about unit testing, TDD, and the AWS cloud.

Prerequisites

This liveProject is for intermediate C# developers who want to improve their understanding of modern testing practices. No previous testing experience is required. To begin this liveProject, you will need to be familiar with the following:


TOOLS
  • Intermediate C#
  • Visual Studio: able to create new projects and install plugins, min. version 2019
  • ASP.NET and web development, min. version .NET 5
  • .NET desktop development
  • .NET Core cross-platform development
  • Basics of MongoDB
  • Basics of Docker: able to run Docker and Docker Compose files from Visual Studio
  • Basic YAML: able to read simple YAML files
  • Basic REST and HTTP for creating web services

features

Self-paced
You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.