Raccourci pour TestDriven.NET - 2ème édition
8 juin, 2008
edit: Je viens de corriger la macro qui contenait un petit bug !
J’ai amélioré ma macro pour lancer les tests unitaires via TestDriven.net
L’ancienne version contenait en dur le nom de la solution et du projet contenant les tests, ce qui n’est pas très optimal quand on a plusieurs projets en parallèle. Cette nouvelle version lance les tests sur le premier projet contenant le mot “Test” dans son nom, voici son code :
Sub RunAllTests()
Dim solutionExplorer As Window = DTE.Windows.Item(Constants.vsWindowKindSolutionExplorer)
Dim solution As UIHierarchyItem = solutionExplorer.Object.UIHierarchyItems.Item(1)
Dim project As UIHierarchyItem
For Each item As UIHierarchyItem In solution.UIHierarchyItems
If item.Name.Contains("Test") Then
project = item
Exit For
End If
Next
solutionExplorer.Activate()
project.UIHierarchyItems.Expanded = True
project.Select(vsUISelectionType.vsUISelectionTypeSelect)
DTE.ExecuteCommand("TestDriven.NET.RunTests")
End Sub
Bons tests !
Raccourci pour TestDriven.NET
21 février, 2008
Dans ma boite à outils du développeur, j’utilise TestDriven.NET qui facilite grandement le lancement des tests unitaires au sein de Visual Studio.
Mais je dois avouer que j’étais fatigué de :
- saisir la souris pour faire un clic droit “Run Test(s)” dans mon code
- avant chaque archivage de modification, prendre la souris, trouver le projet de test dans la solution, faire un clic droit et “Run Test(s)” pour lancer tous les tests unitaires…
Après quelques petites recherches, on peut facilement résoudre le premier point en assignant une combinaison de touche à la commande “TestDriven.NET.RunTests” qui s’occupe de lancer le(s) test(s) suivant ou on se trouve.
Pour résoudre le second point, j’ai du faire une macro qui sélectionne le bon projet dans la solution et éxécute la commande magique dessus.
Voici donc la macro qui m’épargne des mouvements inutiles
:
Sub RunAllTests()
DTE.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate()
DTE.ActiveWindow.Object.GetItem("NomSolution\NomProjet").UIHierarchyItems.Expanded = True
DTE.ActiveWindow.Object.GetItem("NomSolution\NomProjet").Select(vsUISelectionType.vsUISelectionTypeSelect)
DTE.ExecuteCommand("TestDriven.NET.RunTests")
End Sub
Il suffit de modifier “NomSolution\NomProjet” avec les bonnes informations et d’assigner la macro à un raccourci clavier (ou au pire de la placer dans la barre d’outils pour gagner quelques clics).
Si vous avez d’autres astuces pour améliorer la productivité, je suis preneur ![]()