Home About Courses Schedule Services Webinars Contact Search

Test-Driven Development Using Visual Studio and C#


Duration: 1 Day

Method: Instructor led, Hands-on workshops

Price: $600.00

Course Code: NE1020


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 the unit testing framework that comes with Visual Studio 2012 Professional Edition and higher. Visual Studio 2012 brings major changes to the unit testing framework, including a pluggable architecture that enables integration with third-party test frameworks. This topic is covered in an appendix.

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.


Upon successful completion of this course, the student will be able to:

  • 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


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


  • I. Test-Driven Development
    • What Is Test-Driven Development (TDD)?
    • Functional Tests / Customer Tests
    • Unit Tests / Programmer Tests
    • Test Automation
    • Simple Design
    • Refactoring
    • A Visual Studio Test Drive
    • TDD with Legacy Code
  • II. Visual Studio Unit Testing Fundamentals
    • Structure of Unit Tests
    • Unit Testing Framework
    • Assertions
    • Test Cases
    • Test Classes
    • Test Runners
    • Ignoring Tests
    • Initialization and Cleanup
  • III. More about Unit Testing Framework
    • Expected Exceptions
    • Custom Asserts
    • Debugging Unit Tests
    • MSTest
    • Refactoring