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 NUnit in supporting test-driven development on Microsoft .NET. It is current to Visual Studio 2015.

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 using NUnit in your .NET development projects. The student will receive a comprehensive set of materials, including course notes and all the programming examples.

Course Duration: 1 Day
Prerequisites:

The student should have a basic knowledge of the .NET Framework and experience programming in C# with Visual Studio.

Hardware and Software Requirements:

Course examples require Microsoft Visual Studio 2015 and Windows 7sp1 or higher. The free Visual Studio Community 2015 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, 1 GB of RAM, and at least 10 GB of free disk space for tools installation and courseware.

Course Objectives:
  • Understand the principles of test-driven development
  • Acquire fluency in developing tests using the NUnit framework
  • Efficiently exercise tests suites using both GUI and command-line tools
Course Outline:
  • Test-Driven Development
    • What Is Test-Driven Development (TDD)?
    • Functional Tests / Customer Tests
    • Unit Tests / Programmer Tests
    • Test Automation
    • Simple Design
    • Refactoring
    • An NUnit Test Drive
    • TDD with Legacy Code
  • NUnit Fundamentals
    • Structure of Unit Tests
    • NUnit Framework
    • Assertions
    • Test Cases
    • Test Fixtures
    • Test Runners
    • Ignoring Tests
    • Setup and TearDown
    • Test Fixture Setup and TearDown
    • NUnit GUI Tool
    • NUnit with Visual Studio
  • More about NUnit
    • Exceptions
    • Debugging NUnit Tests
    • Custom Asserts
    • Categories
    • NUnit Console Tool
    • Refactoring