C’est quoi un Unit Test ou test unitaire ? En effet, un unit test, c’est simplement du code pour tester une unité ou un bloc code sur sa fonctionnalité.
Une unité peut-être :
- Methode
- Property
- Classe
- Assembly
Pour comprendre quand on utilise les tests unitaires, on peut regarder les étapes du modèle du cycle en V, un modèle conceptuel de gestion de projet afin d’améliorer la création d’un logiciel. Les unit tests sont donc utilisés après le codage (ou avant en utilisant TDD en fait). Les tests suivants sont les tests d’intégration, qui testent les modules indépendants du logiciel dans l’ensemble.
NUnit et MSTest
NUnit et MSTest, sont enfin des unit testing frameworks qui sont basé sur le platform .NET et qui sont gratuit à utiliser dans le Visual Studio. Dans son solution on peut ajouter un projet test ou créer une solution avec un projet et un test projet à la fois. Pour utiliser NUnit il faut néanmoins ajouter un package NuGet dans son solution.
NUnit fournit des classes et des outils pour faciliter de créer les tests unitaires. Néanmoins il faut écrire les tests unitaires soi-même dans les langages de programmation .NET comme C# ou VB.NET…
En plus les frameworks de tests unitaires viennent avec un test runner pour voir le résultat d’un test
Voici le codage pour une classe test d’un controller dans un projet ASP.NET MVC avec MSTest qui est exécuté dans 3 étapes : Arrange, Act, Assert.
[TestClass] public class HomeControllerTest { [TestMethod] public void Index() { // Arrange HomeController controller = new HomeController(); // Act ViewResult result = controller.Index() as ViewResult; // Assert Assert.IsNotNull(result); } }