Defining C# test projects in Visual Studio
.NET SDK contains project templates for three types of unit testing frameworks, namely, MSTest, xUnit, and NUnit. Once you start the new project wizard, to visualize the version of all of them that is adequate for .NET C# applications, set Project type as Test, Language as C#, and Platform as Linux, since .NET projects are the only ones that can be deployed on Linux.
The following screenshot shows the selection that should appear:
Figure 23.2: Adding a test project
All the preceding projects automatically include the NuGet package for running all the tests in the Visual Studio test user interface (Visual Studio test runner). However, they do not include any facility for mocking interfaces, so you need to add the Moq
NuGet package, which contains a popular mocking framework.
All these test projects must contain a reference to the project to be tested.
In the next subsection, we will describe xUnit, since it is probably...