An emerging software engineering paradigm is test-driven development, where tests are written early and testing is performed continuously during the development process. Problems are discovered early and corrected when they are found. This one-day course for developers explains the methodology of test-driven development and the use of Microsoft’s MSTest unit testing framework that comes with Visual Studio 2022, including the free Community version.
This course is designed to run on .NET 6.0, which is the latest version of .NET Core and is the main implementation of .NET going forward. .NET Core is a package-based implementation that is cross-platform, running on Mac and Linux besides Windows. .NET Framework 4.x continues to be supported. Object Innovations course 4106 covers unit testing on .NET 4.x.
The course is practical, with many example programs and tests written in C#, including a cumulative case study. The goal is to quickly bring you up to speed in doing unit testing in your .NET development projects. The student will receive a comprehensive set of materials, including course notes and all the programming examples.
- Understand the principles of test-driven development
- Acquire fluency in developing tests using the Visual Studio unit testing framework
- Efficiently exercise test suites using Visual Studio and MSTest
1. Test-Driven Development
- What Is Test-Driven Development (TDD)?
- Functional Tests / Customer Tests
- Unit Tests / Programmer Tests
- Test Automation
- Simple Design
- A Visual Studio Test Drive
- TDD with Legacy Code
2. Visual Studio Unit Testing Fundamentals
- Structure of Unit Tests
- Unit Testing Framework
- Test Cases
- Test Classes
- Test Runners
- Ignoring Tests
- Initialization and Cleanup
3. More about MSTest Framework
- Expected Exceptions
- Custom Asserts
- Debugging Unit Tests
- Command-line Test Runner
Course examples require Microsoft Visual Studio 2022 and Windows 10 or higher. The free Visual Studio Community 2022 can be used. See the appropriate course Setup Guide for details.
A good minimal hardware profile for this course consists of a 2 GHz or better CPU, 4 GB of RAM and at least 10 GB of free disk space for tools installation and courseware.
The student should have a basic knowledge of .NET Core and experience programming in C# with Visual Studio.
Useful prior Object Innovations courses are Object-Oriented Programming in C# or C# Essentials plus .NET Foundations.