405. Test-Driven Development
Using NUnit
Rev. 1.0
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.
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.
LEARNING 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
Duration: 1 day. There
is enough material, including five labs, to run the course over a somewhat
longer duration if desired. The instructor guide contains suggestions for
pacing.
Prerequisites: The
student should have a basic knowledge of the .NET Framework and experience
programming in C# with Visual Studio.
1.
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
2.
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
3.
More about NUnit
Exceptions
Debugging NUnit Tests
Custom Asserts
Categories
NUnit Console Tool
Refactoring
Appendix A. Learning
Resources
System Requirements
Course exercises require NUnit 2.2.8 and Microsoft Visual Studio 2005
on Windows XP with Service Pack 2. Visual C# 2005 Express Edition can also be
used. See the appropriate course Setup Guide for details.
A good minimal hardware profile for this course would have a Pentium
1 GHz or equivalent CPU, 512 MB of RAM, and at least 4 GB of free disk space
for tools installation and courseware.