Skip to main content

Test des requêtes CodeQL dans Visual Studio Code

Vous pouvez également exécuter des tests unitaires pour les requêtes CodeQL en utilisant l’extension Visual Studio Code.

Informations sur les requêtes de test dans VS Code

Pour vous assurer que vos requêtes CodeQL produisent les résultats attendus, vous pouvez exécuter des tests qui comparent les résultats de requête attendus avec les résultats réels.

L’extension CodeQL s’inscrit automatiquement avec l’affichage « Test ». Cette vue affiche tous les tests trouvés dans votre espace de travail actuel et fournit une interface utilisateur permettant d’explorer et d’exécuter des tests dans votre espace de travail.

Pour plus d’informations sur CodeQL, consultez « Test de requêtes personnalisées ».

Pour afficher une sortie plus détaillée à partir des tests unitaires en cours d’exécution, ouvrez le journal des tests CodeQL. Pour plus d’informations, consultez « Accès aux journaux d’activité ».

Test des résultats de vos requêtes

  1. Dans Visual Studio Code, ouvrez la vue « Test » dans la barre latérale.

  2. Pour exécuter un test spécifique, passez sur le nom du fichier ou du dossier, puis cliquez sur le bouton lecture. Pour exécuter tous les tests dans votre espace de travail, cliquez sur le bouton lecture en haut de la vue. Si un test prend trop de temps, vous pouvez cliquer sur le bouton Arrêter en haut de la vue pour annuler le test.

    Capture d’écran de la vue « Test », avec le bouton « Exécuter le test » (pour exécuter tous les tests) surligné en orange foncé.

  3. Les icônes indiquent si un test a réussi ou échoué. En cas d’échec, cliquez sur le test dans « Résultats des tests » pour afficher les différences entre la sortie attendue et la sortie réelle.

    Capture d’écran de la vue « Résultats des tests » affichant les différences entre la sortie attendue et la sortie réelle d’un test.

  4. Comparer les résultats. Si vous souhaitez mettre à jour le test avec la sortie réelle, cliquez avec le bouton droit sur le test dans la vue « Test », puis cliquez sur Accepter la sortie du test.

Améliorer les performances de vos requêtes

Les performances des requêtes sont importantes lorsque vous souhaitez exécuter une requête sur des bases de données volumineuses ou dans le cadre de votre système d’intégration continue.

Si vous souhaitez examiner les performances des requêtes, activez le paramètre « Requêtes en cours d’exécution : débogage » pour inclure le minutage et le nombre de tuples. Cela s’affiche ensuite dans les journaux d’activité dans l’onglet « Serveur de requêtes » CodeQL de l’affichage « Sortie ». Le nombre de tuples est utile, car il indique la taille des prédicats calculés par la requête. Pour plus d’informations sur les changements de paramètres, consultez « Personnaliser les paramètres ».

Lorsqu’une requête est évaluée, le serveur de requêtes met en cache les prédicats qu’il calcule. Par conséquent, lorsque vous souhaitez comparer les performances de deux évaluations, vous devez exécuter CodeQL : Effacer le cache pour effacer le cache du serveur de requêtes avant chaque exécution. Cela garantit que vous comparez des données équivalentes.

Pour plus d’informations sur la surveillance des performances de vos requêtes CodeQL, consultez « Résolution des problèmes de performances des requêtes » et « Évaluation des programmes QL » dans la documentation CodeQL.

Étapes suivantes

Lorsque vous êtes sûr que votre requête recherche les résultats que vous souhaitez identifier, vous pouvez utiliser l’analyse de variantes pour l’exécuter à grande échelle. Pour plus d’informations sur l’exécution de l’analyse à grande échelle sur de nombreuses bases de données CodeQL, consultez « Exécution de requêtes CodeQL à grande échelle avec l’analyse de variantes multi-référentiels ».