Des tests paramétrés avec Nunit

Il arrive souvent que pour tester unitairement des règles de validation, on doive tester le même cas mais avec des exemples différents. Sans tests paramétrés, ça revient à faire un test par cas ce qui peut alourdir notre fichier de tests. On va voir comment simplifier tout ça avec des tests paramétrés. Prenons l’exemple d’une classe “Nom de Royaume” où […]

Tester facilement les dates grâce à TimeProvider en .Net – exemple avec un scénario Reqnroll

Avant .Net 8, tester du code qui utilise DateTime.Now() n’était pas trivial, on devait faire en sorte de mocker la Clock dans nos tests. Depuis .Net 8, c’est beaucoup plus facile grâce à TimeProvider inclut par défaut ! En deux mots, TimeProvider est une classe abstraite et on va pouvoir injecter dans nos tests une implémentation “Fake” qui va nous […]

Une gestion d’erreur de son API .Net automatique via ses exceptions

La gestion des erreurs de son API est très importante pour que les consommateurs puissent avoir une description claire du problème mais c’est souvent fastidieux à maintenir. On va voir comment avoir des statuts de réponse cohérent et des messages d’erreur parlant en utilisant uniquement nos exceptions. Le cas d’exemple: dans un jeu, je ne peux pas construire de bâtiment […]

Tester les endpoints de son API avec Reqnroll

On va voir comment avoir en quelques minutes des assertions qui vont vérifier les endpoints de notre API avec des scénarios de ce genre:   Et des assertions du style: Versions utilisées pour la démo: I. Installation et dépendances 1. Créer un nouveau projet Reqnroll La première chose à faire est de créer un nouveau projet Reqnroll si ce n’est […]

Remplacer Swagger par OpenApi embarqué dans .NET 9

Depuis .NET 9, le le support d’OpenAPI est directement inclus dans .NET et ne passe plus par les librairies Swagger par défaut  (plus d’info sur ce choix ici si jamais ça vous intéresse). De façons simplifiée, la librairie Swashbuckle.AspNetCore.Swagger faisait deux choses: On va voir dans cet article comment se mettre à la page facilement 🙂 Pro-tips: Si vous utilisez […]

Corriger l’erreur CORS Missing Allow Origin  en configurant  votre API .NET

Description du problème Par défaut, il n’est pas autorisé de faire des requêtes entre une application qui est dans un domaine A vers une autre qui serait dans un domaine B (pour des raisons de sécurité, il y a plus de détails dans les sources). Si vous avez un front qui tourne sur un serveur node localhost:4200 et votre backend […]

Écosystème Microsoft : .NET 6 / WinUI 3 / .NET MAUI

Historique Pour cet article je vais faire un mini REX sur l’écosystème de Microsoft pour les développeurs. J’ai commencé à travailler avec les technologies Microsoft vers 2016. Pour situer, Windows 10 devait avoir à peu près un an et Satya Nadella était à la tête de l’entreprise depuis 2 ans environ. Ces deux points sont, à mon sens, importants et ont […]

ASP .NET MVC – Html.BeginForm : L’attribut HTML « action » n’est pas généré pour l’élément « form »

ASP .NET Généré un formulaire avec le moteur de templating Razor pour qu’il ait bien le bon champ « action » et non un champ « action » vide

Livre – Programmation en C# aux éditions ENI

Le premier ouvrage publié aux éditions ENI dont je vais parler est : “Programmation en C# – Préparation aux certifications MCSA – Examen 70-483“ écrit par Benoît PRIEUR , ingénieur informatique qui intervient sur des missions de conseils et de formation autour de .NET et Python.