Defining C# test projects
Visual Studio contains project templates for three types of unit testing frameworks, namely, MSTest, xUnit, and NUnit. Once you start the new project wizard, in order to visualize the version of all of them that is adequate for .NET Core C# applications, set Project type as Test, Language as C#, and Platform as Linux, since .NET Core projects are the only ones that can be deployed on Linux.
The following screenshot shows the selection that should appear:
Figure 18.1: 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 test projects must contain a reference to the project to be tested.
In the next section, we will describe xUnit, since...