Aller au contenu principal
Notification
ITPro
  • Ressources IT
  • Newsletter
Se connecter
S’inscrire
  • Cloud & Infrastructure
  • Cybersécurité
  • Data & IA
  • Workplace et Endpoints
Se connecter
S’inscrire
  • Facebook
  • X
  • Linkedin
  • Instagram

Inscrivez-vous

Newsletter iTPro

  • Cloud & Infrastructure
  • Cybersécurité
  • Data & IA
  • Workplace et Endpoints
  • Cloud & Infrastructure
  • Cybersécurité
  • Data & IA
  • Workplace et Endpoints
  1. Accueil
  2. Data & IA
  3. Bases de données modernes
  4. Dossier SQL Server : Débarassez-vous des dépendances de base de données dans le développement orienté tests (1/3)

Sommaire

Tech stories

  • Tech Stories

    DEVOPS REX 2026 : deux jours pour confronter les pratiques DevOps aux réalités du terrain

  • Tech Stories

    Sécuriser sa téléphonie IP : 5 failles critiques à anticiper

Bases de données modernes

Dossier SQL Server : Débarassez-vous des dépendances de base de données dans le développement orienté tests (1/3)

Par

Benjamin Day
Date
30 novembre 2010
Temps de lecture
3 minutes

En suivant ces sept conseils, vous serez prêt à faire face à un sinistre, voire éviterez le problème des tests d’intégration de bout en bout avec le modèle de développement (Repository pattern). De nombreux développeurs doivent écrire des tests unitaires dans le cadre d’une généralisation de la conception et du développement axés sur les tests.

Sommaire

Même les équipes qui ne pratiquent pas stricto sensu les méthodologies agiles sont concernées. Le développement orienté tests (TDD ou Test-driven development) peut produire du code plus propre en exigeant des équipes de projet qu’elles écrivent d’abord des tests unitaires qui échouent, puis qu’elles programment juste ce qu’il faut de code pour une fonction nécessaire, qu’elles retestent, qu’elles réusinent le code et qu’elles répètent le cycle. Si vous n’avez pas encore écrit de code au moyen du développement TDD, le fait de partir de tests qui échouent peut sembler bancal. Mais c’est justement l’étape de réflexion supplémentaire à propos du résultat souhaité qui vous donne une compréhension plus claire du travail à accomplir.

Si vous écrivez une application à n niveaux (n tier) au moyen de Visual Studio et si vous souhaitez mettre en oeuvre le développement TDD, il n’est pas rare que vos tests unitaires pour la fonction métier effectuent des opérations de lecture et écriture sur une base de données. Pour que ces tests fonctionnent, il faut une base de données opérationnelle avec le schéma le plus à jour possible et les données associées.

Qu’en est-il si vous écrivez des tests unitaires pour une application orientée services et que votre code doit appeler un service WCF (Windows Communication Foundation) s’exécutant sur une autre machine ? Ou encore, que se passet- il en cas d’appels à un grand système ou un autre système back-end ? A ce stade, est-il même pratique d’écrire les tests d’intégration par rapport à ces systèmes ?

La solution à ce problème d’intégration de bout en bout consiste à commencer par utiliser le modèle Repository, afin de « simuler » votre base de données ou d’autres systèmes back-end et de découpler votre logique applicative de ces dépendances. Martin Fowler décrit le modèle Repository en déclarant qu’il « s’intercale entre les couches de domaine et de mappage de données au moyen d’une interface de type collection pour accéder aux objets du domaine » (« Pattern of Enterprise Application Architecture », Addison Wesley Professional, 2002).

Si votre niveau métier utilise vos modèles Repository comme interfaces, vous pouvez alors introduire facilement des versions de substitution utilisables pour les tests, puis introduire les versions de base de données au moment de l’exécution. Au final, vous disposez d’un moyen de tester votre fonctionnalité de niveau métier sans nécessiter une base de données opérationnelle ou un autre système back-end. A titre d’effet collatéral, la maintenance du code s’en trouvera facilitée, car vous aurez réduit le niveau de couplage dans votre application.

Le présent article explique comment exploiter le modèle Repository afin d’éliminer la dépendance à SQL Server pour vos tests unitaires et, ce faisant, comment améliorer la testabilité de votre application. Les fonctions de tests unitaires abordées ici sont toutes disponibles dans Visual Studio 2008 Professional Edition et dans toutes les éditions de Visual Studio 2008 Team. L’exemple d’application est écrit dans Visual Studio 2008 Team Suite et nécessite une instance de SQL Server ou SQL Express.

Tech Stories

Sécuriser sa téléphonie IP : 5 failles critiques à anticiper

Sécuriser sa téléphonie IP n’est plus une option. Avec la généralisation de la téléphonie cloud et des infrastructures VoIP, la voix circule désormais sur les mêmes réseaux que les données…

Lire l'article : Sécuriser sa téléphonie IP : 5 failles critiques à anticiper

Ressource IT

SIEM & PME : Comment construire la boîte noire de votre SI ?

Passez à la cybersécurité proactive, transformez la collecte et l’analyse des logs en un bouclier dynamique contre les cybermenaces. Découvrez comment mettre en place une approche SIEM modulaire, évolutive et…

Découvrir la ressource : SIEM & PME : Comment construire la boîte noire de votre SI ?

Inscrivez-vous

Newsletter iTPro

Benjamin Day

Rédigé par Benjamin Day

Benjamin Day est un professionnel IT et rédacteur sur iTPro.fr : Découvrez ses articles informatique

Tous ses articles →

Bases de données modernes

À lire également...

  • BYOD - Les atouts cachés du Bring Your Own Model pour les entreprises - iTPro.fr
    Bases de données modernes

    Les atouts cachés du Bring Your Own Model pour les entreprises

    Par

    Sabine Terrey
    Date
    25 octobre 2024
    Temps de lecture
    4 minutes
  • Change Data Capture pour les entreprises qui réussisent
    Bases de données modernes

    Le Change Data Capture est l’avenir des entreprises qui réussissent

    Par

    Sabine Terrey
    Date
    22 mars 2024
    Temps de lecture
    4 minutes
  • comment_Migrer_vos_bases_de_donnees_dans_le_cloud
    Bases de données modernes Cloud & Infrastructure

    Migration des bases de données dans le cloud : mode d’emploi

    Par

    Sabine Terrey
    Date
    9 janvier 2023
    Temps de lecture
    4 minutes
  • Bases de données modernes Cloud & Infrastructure

    Pourquoi migrer ses bases de données dans le Cloud 

    Par

    Sabine Terrey
    Date
    12 décembre 2022
    Temps de lecture
    6 minutes
ITPro
  • X
  • Linkedin
  • Facebook
  • Instagram
Se connecter
S’inscrire
  • Cloud & Infrastructure
  • Cybersécurité
  • Data & IA
  • Workplace et Endpoints
  • Ressources IT
  • Espace responsable sécurité
  • Espace DSI
  • Espace Architecte IT
  • Espace IT Manager
  • Espace Responsable Data / IA

Inscrivez-vous

Newsletter iTPro

© iTPro.fr

  • Comité éditorial
  • Régie médias
  • Mentions-légales
  • Gestion et protection des données personnelles
  • Gestion des cookies
ITPro
Gérer le consentement aux cookies
Pour offrir les meilleures expériences, nous utilisons des technologies telles que les cookies pour stocker et/ou accéder aux informations des appareils. Le fait de consentir à ces technologies nous permettra de traiter des données telles que le comportement de navigation ou les ID uniques sur ce site. Le fait de ne pas consentir ou de retirer son consentement peut avoir un effet négatif sur certaines caractéristiques et fonctions.
Fonctionnel Toujours activé
Le stockage ou l’accès technique est strictement nécessaire dans la finalité d’intérêt légitime de permettre l’utilisation d’un service spécifique explicitement demandé par l’abonné ou l’internaute, ou dans le seul but d’effectuer la transmission d’une communication sur un réseau de communications électroniques.
Préférences
Le stockage ou l’accès technique est nécessaire dans la finalité d’intérêt légitime de stocker des préférences qui ne sont pas demandées par l’abonné ou la personne utilisant le service.
Statistiques
Le stockage ou l’accès technique qui est utilisé exclusivement à des fins statistiques. Le stockage ou l’accès technique qui est utilisé exclusivement dans des finalités statistiques anonymes. En l’absence d’une assignation à comparaître, d’une conformité volontaire de la part de votre fournisseur d’accès à internet ou d’enregistrements supplémentaires provenant d’une tierce partie, les informations stockées ou extraites à cette seule fin ne peuvent généralement pas être utilisées pour vous identifier.
Marketing
Le stockage ou l’accès technique est nécessaire pour créer des profils d’internautes afin d’envoyer des publicités, ou pour suivre l’internaute sur un site web ou sur plusieurs sites web ayant des finalités marketing similaires.
  • Gérer les options
  • Gérer les services
  • Gérer {vendor_count} fournisseurs
  • En savoir plus sur ces finalités
Voir les préférences
  • {title}
  • {title}
  • {title}