Unit Testing in Visual Studio 2019

This two-day Unit Testing in Visual Studio 2019 training class provides students with the knowledge and skills to effectively use Visual Studio 2019 to design, write, and run high-quality .NET unit tests. The course focuses on the applicable features and capabilities of Visual Studio as it relates to unit testing and Test-Driven Development. This course
also introduces other popular unit testing tools and techniques, and demonstrates how they integrate with Visual
Studio and your team’s development lifecycle.


Public Classes: Delivered live online via WebEx and guaranteed to run . Join from anywhere!

Private Classes: Delivered at your offices , or any other location of your choice.

Course Topics
  1. Why unit tests are critical to software quality
  2. How unit tests and integration tests differ
  3. Popular .NET unit testing frameworks
  4. Popular JavaScript unit testing frameworks
  5. MSTest V2 improvements and capabilities
  6. The anatomy of a unit test
  7. The 3A pattern (Arrange, Act, Assert)
  8. Using Assert, StringAssert, and CollectionAssert
  9. Testing for expected exceptions
  10. Test class inheritance
  11. Why and how to test internal APIs
  12. MSTest, NUnit, and xUnit test projects
  13. Unit testing .NET Core projects
  14. Using Test Explorer to manage your tests
  15. Organizing tests using traits and playlists
  16. Running unit tests in parallel
  17. In-Assembly Parallel (IAP) execution
  18. Parallelism by assembly, class, and method
  19. Running tests and managing test results
  20. Viewing, grouping, and filter tests and results
  21. Creating and using a .runsettings file
  22. Continuous testing in Visual Studio
  23. Test-Driven Development (TDD) as a design practice
  24. Why write your tests first
  25. Practicing TDD within Visual Studio
  26. How to effectively refactor within TDD
  27. How to effectively refactor legacy code
  28. Practices for writing good unit tests
  29. Happy path vs. sad path testing
  30. Testing boundary conditions (Right-BICEP)
  31. Organizing tests and test assemblies
  32. Test naming conventions (e.g. BDD)
  33. Why and how to analyze code coverage
  34. Using code coverage as a metric
  35. Parameterized (data-driven) unit tests
  36. Concurrent testing using Live Unit Tests
  37. Concurrent testing using NCrunch (3rd party)
  38. Testing difficult code with the use of doubles
  39. Using dummies, fakes, stubs, and mocks
  40. Using Microsoft Fakes to test difficult code
  41. Using Rhino Mocks to test difficult code
  42. Using NSubstitute to test difficult code
  43. Generating MSTest unit tests with IntelliTest
  44. Generating NUnit unit tests with IntelliTest
  1. Unit Testing in .NET
    1. What is (and isn’t) a unit test
    2. Why write unit tests
    3. .NET unit testing frameworks
    4. MSTest V2, NUnit, xUnit
    5. The anatomy of a unit test
    6. Writing and running your first unit test
  2. Unit Testing in Visual Studio
    1. Testing support in Visual Studio
    2. MSTest, NUnit, and xUnit test projects
    3. Test Explorer and other windows
    4. Writing and running unit tests in Visual Studio
    5. Managing a large number of tests and test results
    6. Organizing tests by grouping, filtering, and playlists
    7. Continuous testing in Visual Studio
  3. Test-Driven Development (TDD)
    1. TDD overview and benefits
    2. Practicing TDD within Visual Studio
    3. Effectively refactoring code
    4. Working with legacy code
    5. Using CodeLens to support TDD and refactoring
  4. Writing Good Unit Tests
    1. Analyzing code coverage
    2. Using code coverage as a metric
    3. Parameterized (data-driven) unit tests
    4. DataRow, DynamicData, and DataSource attributes
    5. Concurrent testing using Live Unit Testing
    6. Concurrent testing using NCrunch
  5. Testing Difficult Code
    1. The need to isolate code under test
    2. Doubles (dummies, stubs, fakes, and mocks)
    3. Microsoft Fakes framework (stubs and shims)
    4. Comparing mocking frameworks
    5. Using Rhino Mocks and NSubstitute frameworks
    6. Profiling slow running unit tests
    7. Using IntelliTest with legacy code
Class Materials

Each student in our Live Online and our Onsite classes receives a comprehensive set of materials, including course notes and all the class examples.

Class Prerequisites

Experience in the following is required for this ASP.NET class:

  • Experience or familiarity with the C# language.
  • Experience or familiarity with Visual Studio 2015, 2017, or 2019.
  • Experience or familiarity with writing, debugging, and maintaining code.
  • Experience or familiarity with Application Lifecycle Management basics.
  • Experience or familiarity with your organization’s development lifecycle.
  • Experience or familiarity with building a high-quality software product.

Training for your Team

Length: 2 Days
  • Private Class for your Team
  • Online or On-location
  • Customizable
  • Expert Instructors

What people say about our training

As a first time SharePoint user, this course provided me with a vast amount of knowledge that I will be able to apply to my own SharePoint site.
Thomas Ingall
This intro course to Crystal Reports was well put together. The pace was just right and the instructor was willing to stop and answer questions during the lesson.
Debbie Zweifel-Yaciuk
NERA Economic Consulting
This class was great.
Matthew Dunn
Mecklenburg Electric Cooperative
Instructor was great about answering questions and providing examples.
Sean Mcilvain

No cancelation for low enrollment

Certified Microsoft Partner

Registered Education Provider (R.E.P.)

GSA schedule pricing


Students who have taken Instructor-led Training


Organizations who trust Webucator for their Instructor-led training needs


Satisfaction guarantee and retake option


Students rated our trainers 9.30 out of 10 based on 30,146 reviews

Contact Us or call 1-877-932-8228