In this article, I will show you some kind tools for you can write unit test better and make you job easier. In this case, I'm using here the Dotnet platform C# language. But first, let's understand some concepts.
First, what are test stuntmen? They are fake implementation the object real can be simulated the unit real or the object real.
Are what we are talking about here: objects pre-programmed with expectations which form a specification of the calls they are expected to receive.
Provide canned answers to calls made during the test, usually not responding at all to anything outside what's programmed in for the test.
Are objects actually have working implementations, but usually take some shortcut that makes them not suitable for production (an in-memory database is a good example).
Are stubs that also record some information based on how they were called. One form of this might be an email service that records how many messages it was sent.
Are objects are passed around but never actually used. Usually, they are just used to fill parameter lists.
Fake objects actually have working implementations, but usually take some.
XUnit Code Snippets
If you use these "code snippets", you can save time coding/typing to create unit test code based on xUnit framework. You can use write the command below I will show two options.
You can download the Snippets in your Visual Studio
Use command below
1.xtestm [Tab] or
Then, this snippet expanded following C# code.
Is a library that allows you to rapidly create test data, automatically. Some examples below.
Its a great idea and helps facilitates the process if you need to generate a quantity of data for testing.
This library is different the NBuilder, because if you want something which looks like actual names, address, email, telephone, etc you can use Faker.NET.
Coverlet is a cross platform code coverage framework for .NET, with support for line, branch and method coverage. It works with .NET Framework on Windows and .NET Core on all supported platforms.
Coverlet documentation reflect the current repository state of the features, not the released ones.
Check the changelog to understand if the documented feature you want to use has been officially released. You can see for more details in Coverlet Github
Let´s first install the package coverlet in your test project in image below.
Now we can configure the tests to execute, for to generate the XML file format, for code coverage with the command and image below.
dotnet test --verbosity minimal --collect:"XPlat Code Coverage"
The option --collect:”XPlat Code Coverage” will create the file coverage.cobertura.xml in a folder named identified by a GUID and located in the TestResults directory of the test project.
Install Report Generator the command below.
dotnet tool install --global dotnet-reportgenerator-globaltool --version 4.8.6
In the power shell open the folder where the xml file was generated, and write the command reportgenerator "-reports:coverage.cobertura.xml" "-targetdir:coveragereport" -reporttypes:Html
As you can see, the report generator created files in which it shows the test coverage of your code.
Whenever I can, I write an article to document my programs and processes so I don't forget. Here I have put some tools that I use in my personal projects and at work to improve the way I write my unit tests, and observe test coverage. I hope you enjoyed it and it helps you.