Simplifier les tests unitaires dans Visual Studio : Un guide pour exécuter des tests dans différents dossiers et projets

Les tests unitaires sont un aspect essentiel du développement logiciel moderne, garantissant que les composants individuels fonctionnent comme prévu avant de les intégrer dans un système plus large. Dans des environnements comme Visual Studio, il est courant de créer des projets distincts pour les tests unitaires et les tests d’intégration. Cette structure peut compliquer l’exécution des tests, surtout lorsque vous souhaitez exécuter rapidement des tests dans des dossiers ou projets spécifiques. Dans cet article, nous allons explorer une solution pour exécuter vos tests unitaires en fonction de la structure des dossiers de votre projet, rendant le processus plus efficace grâce à des raccourcis clavier et des macros.

Le défi

De nombreux développeurs structurent leurs solutions Visual Studio avec des projets distincts pour les tests unitaires et les tests d’intégration. Cela crée un besoin d’une stratégie claire pour gérer les exécutions de tests, telles que :

  • Exécution fréquente des tests unitaires.
  • Exécution des tests d’intégration uniquement dans des contextes spécifiques.

Votre objectif pourrait être de configurer des raccourcis clavier pour exécuter des tests dans divers projets sans avoir à naviguer dans des menus à chaque fois. Par exemple, vous voudriez atteindre quelque chose comme :

  • Alt+1 : Exécute les tests dans le projet BLL.Test.
  • Alt+2 : Exécute les tests dans le projet DAL.Tests.
  • Alt+3 : Exécute tous les tests dans le dossier [Tests].
  • Alt+4 : Exécute les tests dans le dossier [Tests.Integration].

Heureusement, il existe un moyen d’optimiser ce processus dans Visual Studio.

Une solution pratique utilisant des macros

Vous pouvez créer une macro dans Visual Studio qui vous permet d’exécuter des tests dans des projets ou dossiers spécifiques avec une simple commande clavier. Voici comment procéder :

Instructions étape par étape pour créer une macro

  1. Ouvrez Visual Studio : Lancez votre environnement Visual Studio.

  2. Créez une macro temporaire :

    • Allez dans le menu : Outils > Macros > Enregistrer MacroTemporaire.
    • Cela commencera à enregistrer vos actions.
  3. Sélectionnez votre dossier de tests :

    • Dans l’Explorateur de solutions, sélectionnez le dossier [Tests] (ou le dossier de tests de votre choix).
  4. Exécutez les tests :

    • Exécutez la commande pour lancer les tests en utilisant ReSharper : ReSharper.UnitTest.ContextRun.
  5. Arrêtez l’enregistrement :

    • Une fois terminé, revenez à Outils > Macros et arrêtez l’enregistrement.
  6. Modifiez la macro :

    • Vous pouvez trouver votre macro enregistrée sous Outils > Macros > MesMacros.
    • Modifiez-la pour répondre à vos besoins (vous trouverez le code pour exécuter votre dossier de tests spécifique).

Exemple de macro enregistrée

Voici un exemple de code de macro que vous pouvez ajuster pour la structure de votre projet spécifique :

Sub MacroTemporaire()
    DTE.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate
    DTE.ActiveWindow.Object.GetItem("TestUnitTest\Tests").Select(vsUISelectionType.vsUISelectionTypeSelect)
    DTE.ExecuteCommand("ReSharper.UnitTest_ContextRun")
End Sub
  1. Assignez un raccourci clavier à la macro :
    • Allez dans Outils > Options > Environnement > Clavier.
    • Trouvez votre macro dans la liste et assignez-lui un raccourci clavier.

Une approche plus généralisée avec des fichiers de configuration

Bien que la méthode ci-dessus fournisse une solution solide pour exécuter des tests, elle peut être encore améliorée si vous envisagez une approche plus évolutive. Imaginez pouvoir configurer quels projets, dossiers ou classes exécuter via un fichier XML. Cela peut :

  • Faciliter le contrôle des versions.
  • Assurer que chaque membre de votre équipe suive le même processus d’exécution des tests.

Avantages de l’utilisation de la configuration XML

  • Cohérence : Tous les développeurs peuvent partager les mêmes configurations.
  • Flexibilité : Modifier facilement les cibles de tests sans altérer le code.
  • Simplicité : Les non-développeurs de votre équipe peuvent ajouter ou modifier les paramètres de test sans avoir besoin de s’engager dans l’IDE de VS.

En conclusion, en utilisant des macros dans Visual Studio et éventuellement en incorporant des fichiers de configuration, vous pouvez considérablement améliorer votre flux de travail de développement. Ce système non seulement fait gagner du temps, mais garantit également que votre équipe puisse gérer les exécutions de tests sans effort. Maintenant, avec la possibilité d’exécuter des tests spécifiques en utilisant simplement un raccourci clavier, vous pouvez vous concentrer davantage sur l’écriture de code et moins sur la navigation dans votre IDE.