Skip to content

Commit 560c4b3

Browse files
authored
MSTest: getting started, writing tests and running tests (#41826)
1 parent 91095ba commit 560c4b3

6 files changed

+556
-12
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
title: Get started with MSTest
3+
description: Learn about how to install MSTest.
4+
author: Evangelink
5+
ms.author: amauryleve
6+
ms.date: 07/24/2024
7+
---
8+
9+
# Get started with MSTest
10+
11+
MSTest functionality is split into multiple NuGet packages:
12+
13+
- [MSTest.TestFramework](https://www.nuget.org/packages/MSTest.TestFramework): Contains the attributes and classes that are used to define MSTest tests.
14+
- [MSTest.TestAdapter](https://www.nuget.org/packages/MSTest.TestAdapter): Contains the test adapter that discovers and runs MSTest tests.
15+
- [MSTest.Analyzers](https://www.nuget.org/packages/MSTest.Analyzers): Contains the analyzers that helps you write high-quality tests.
16+
17+
We recommend that you don't install these packages directly into your test projects. Instead, you should use either:
18+
19+
- [MSTest.Sdk](https://www.nuget.org/packages/MSTest.Sdk): A [MSBuild project SDK](/visualstudio/msbuild/how-to-use-project-sdk) that includes all the recommended packages and greatly simplifies all the boilerplate configuration. Although this is shipped as a NuGet package, it's not intended to be installed as a regular package dependency, instead you should modify the `Sdk` part of your project (e.g. `<Project Sdk="MSTest.Sdk">` or `<Project Sdk="MSTest.Sdk/X.Y.Z">` where `X.Y.Z` is MSTest version). For more information, please refer to [MSTest SDK overview](./unit-testing-mstest-sdk.md).
20+
21+
- the [MSTest](https://www.nuget.org/packages/MSTest) NuGet package, which includes all recommended packages: `MSTest.TestFramework`, `MSTest.TestAdapter`, `MSTest.Analyzer` and `Microsoft.NET.Test.Sdk`.
22+
23+
If you are creating a test infrastructure project that is intended to be used as a helper by multiple test projects, you should install the `MSTest.TestFramework` and `MSTest.Analyzers` packages directly into that project.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
title: Run tests with MSTest
3+
description: Learn about how to run MSTest tests.
4+
author: Evangelink
5+
ms.author: amauryleve
6+
ms.date: 07/24/2024
7+
---
8+
9+
# Run tests with MSTest
10+
11+
There are several ways to run MSTest tests depending on your needs. You can run tests from an IDE (for example, Visual Studio, Visual Studio Code, or JetBrains Rider), or from the command line, or from a CI service (such as GitHub Actions or Azure DevOps).
12+
13+
Historically, MSTest relied on [VSTest](https://github.com/microsoft/vstest) for running tests in all contexts but starting with version 3.2.0, MSTest has its own [test runner](./unit-testing-mstest-runner-intro.md). This new runner is more lightweight and faster than VSTest, and it's the recommended way to run MSTest tests.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
title: MSTest assertions
3+
description: Learn about MSTest assertions.
4+
author: Evangelink
5+
ms.author: amauryleve
6+
ms.date: 07/24/2024
7+
---
8+
9+
# MSTest assertions
10+
11+
Use the `Assert` classes of the <xref:Microsoft.VisualStudio.TestTools.UnitTesting> namespace to verify specific functionality. A test method exercises the code of a method in your application's code, but it reports the correctness of the code's behavior only if you include `Assert` statements.
12+
13+
## The `Assert` class
14+
15+
In your test method, you can call any methods of the <xref:Microsoft.VisualStudio.TestTools.UnitTesting.Assert?displayProperty=fullName> class, such as <xref:Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual%2A?displayProperty=nameWithType>. The <xref:Microsoft.VisualStudio.TestTools.UnitTesting.Assert> class has many methods to choose from, and many of the methods have several overloads.
16+
17+
## The `StringAssert` class
18+
19+
Use the <xref:Microsoft.VisualStudio.TestTools.UnitTesting.StringAssert> class to compare and examine strings. This class contains a variety of useful methods, such as <xref:Microsoft.VisualStudio.TestTools.UnitTesting.StringAssert.Contains%2A?displayProperty=nameWithType>, <xref:Microsoft.VisualStudio.TestTools.UnitTesting.StringAssert.Matches%2A?displayProperty=nameWithType>, and <xref:Microsoft.VisualStudio.TestTools.UnitTesting.StringAssert.StartsWith%2A?displayProperty=nameWithType>.
20+
21+
## The `CollectionAssert` class
22+
23+
Use the <xref:Microsoft.VisualStudio.TestTools.UnitTesting.CollectionAssert> class to compare collections of objects, or to verify the state of a collection.

0 commit comments

Comments
 (0)