Il est étonnant de voir l’étendue des fonctionnalités de base de données en mémoire créables avec une seule instance de List
Repository en mémoire
variable integer. Si vous concevez votre implémentation de substitution afin d’employer des génériques, vous pouvez créer quasiment instantanément un Repository de substitution capable d’émuler la fonctionnalité de base de données pour n’importe lequel de vos objets métier.
Dans l’exemple de code ci-dessus, vous pouvez constater que tout tourne autour de la propriété Items. Celle-ci contient tous les éléments dans la « base de données » et est la cible de toutes les requêtes LINQ. La méthode Save() prend une instance d’un objet métier et regarde si la propriété Id a la valeur 0 ou non. Si la valeur est 0, le
Repository de substitution simule une instruction INSERT en incrémentant la variable m_currentIdValue et en définissant la valeur sur la propriété Id de l’objet. Une fois la valeur d’identité définie, la méthode Save() ajoute l’objet à la collection Items.
La méthode GetById() utilise la propriété Id sur l’interface IInt32Id et émet une requête LINQ sur la collection Items afin de trouver le premier objet avec la valeur Id. Pour créer la fonctionnalité de test unitaire UsernameExists(), vous devez implémenter la méthode GetByUser Name() définie sur IUser Repository. Pour cela, vous créez simplement une classe intitulée In MemoryUserReposi tory et étendez celle-ci à partir de Repository Mock
Avec cette implémentation en mémoire, vous ne vous souciez plus de savoir si la base de données est opérationnelle, si elle contient d’anciennes données et si elle comporte des contraintes de clé étrangère. La configuration pour le test UsernameExists() revient à ajouter simplement des instances
de User à la collection Items via des appels à Save(). Voici la logique de configuration pour le test Username Exists().
Téléchargez cette ressource
Guide de Threat Intelligence contextuelle
Ce guide facilitera l’adoption d’une Threat Intelligence - renseignement sur les cybermenaces, cyberintelligence - adaptée au "contexte", il fournit des indicateurs de performance clés (KPI) pour progresser d' une posture défensive vers une approche centrée sur l’anticipation stratégique
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Coder vite, mais coder juste : trouver l’équilibre à l’ère de l’IA
- L’illusion de la destruction massive d’emplois par l’IA
- Comprendre le SOC : votre bouclier essentiel en cybersécurité
- IA : le changement de paradigme des entreprises françaises se joue désormais à l’échelle humaine
Articles les + lus
DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
Adapter la sécurité OT aux réalités de l’industrie
Coder vite, mais coder juste : trouver l’équilibre à l’ère de l’IA
Mixité dans la Tech : en 2026, un choix de souveraineté stratégique
Analyse Patch Tuesday Mars 2026
À la une de la chaîne Tech
- DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
- Adapter la sécurité OT aux réalités de l’industrie
- Coder vite, mais coder juste : trouver l’équilibre à l’ère de l’IA
- Mixité dans la Tech : en 2026, un choix de souveraineté stratégique
- Analyse Patch Tuesday Mars 2026
