Visual Studio Unit Testing Framework

The Visual Studio Unit Testing Framework describes Microsoft's suite of unit testing tools as integrated into some[1] versions of Visual Studio 2005 and later. The unit testing framework is defined in Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll. Unit tests created with the unit testing framework can be executed in Visual Studio or, using MSTest.exe, from a command line.

## Elements

[edit]

### Test class

[edit]

Test classes are declared as such by decorating a class with the TestClass attribute. The attribute is used to identify classes that contain test methods. Best practices state that test classes should contain only unit test code.

### Test method

[edit]

Test methods are declared as such by decorating a unit test method with the TestMethod attribute. The attribute is used to identify methods that contain unit test code. Best practices state that unit test methods should contain only unit test code.

### Assertions

[edit]

An assertion is a piece of code that is run to test a condition or behavior against an expected result. Assertions in Visual Studio unit testing are executed by calling methods in the Assert class.

### Initialization and cleanup methods

[edit]

Initialization and cleanup methods are used to prepare unit tests before running and cleaning up after unit tests have been executed. Initialization methods are declared as such by decorating an initialization method with the TestInitialize attribute, while cleanup methods are declared as such by decorating a cleanup method with the TestCleanup attribute.

## Sample test

[edit]

Below is a very basic sample unit test:

using Microsoft.VisualStudio.TestTools.UnitTesting;

[TestClass]
public class TestClass

[TestMethod]
public void MyTest()

Assert.IsTrue(true);

## See also

[edit]

* Software testing
* Unit testing
* Test-driven development
* Mock object
* List of unit testing frameworks

## References

[edit]

1. ^ "Visual Studio 2010 Express – No tests, please". 13 April 2010.

## External links

[edit]

* (old) A Unit Testing Walkthrough with Visual Studio Team Test
* (old) Microsoft's Unit Testing Framework page
* (old) MSTest command-line test execution utility
* MSTest overview from Microsoft Learn
* Microsoft.VisualStudio.TestTools.UnitTesting Namespace from Microsoft Learn
* Microsoft.Testing.Platform and Microsoft Test Framework (MSTest), a readme file from the GitHub project page