{"meta":{"title":"Fichiers de référence pour les requêtes","intro":"Vous pouvez utiliser des fichiers de référence de requête pour définir l’emplacement d’une requête que vous voulez exécuter dans des tests.","product":"Sécurité et qualité du code","breadcrumbs":[{"href":"/fr/code-security","title":"Sécurité et qualité du code"},{"href":"/fr/code-security/concepts","title":"Concepts"},{"href":"/fr/code-security/concepts/code-scanning","title":"Analyse du code"},{"href":"/fr/code-security/concepts/code-scanning/codeql","title":"CodeQL"},{"href":"/fr/code-security/concepts/code-scanning/codeql/query-reference-files","title":"Fichiers de référence pour les requêtes"}],"documentType":"article"},"body":"# Fichiers de référence pour les requêtes\n\nVous pouvez utiliser des fichiers de référence de requête pour définir l’emplacement d’une requête que vous voulez exécuter dans des tests.\n\n## À propos des fichiers de référence de requête\n\nUn fichier de référence de requête est un fichier texte qui définit l’emplacement d’une seule requête à tester.\n\nVous utilisez un fichier de référence de requête quand vous voulez indiquer à la sous-commande `test run` d’exécuter une requête qui ne fait pas partie d’un répertoire de test.\nIl existe deux façons de spécifier les requêtes que vous voulez exécuter en tant que tests :\n\n1. Utilisez un fichier de référence de requête pour spécifier l’emplacement d’une requête à tester.\n   Cela est utile lorsque vous créez des tests pour des requêtes d’alerte et des requêtes de parcours qui ont pour but d’identifier les problèmes dans des bases de code réelles. Vous pouvez créer plusieurs répertoires de code de test, chacun se concentrant sur différents aspects de la requête. Ensuite, vous pouvez ajouter un fichier de référence de requête à chaque répertoire de code de test, pour spécifier la requête à tester.\n2. Ajoutez la requête directement à un répertoire de tests.\n   Cette approche s’avère généralement utile quand vous écrivez des requêtes explicitement pour tester le comportement de bibliothèques QL. Souvent, ces requêtes contiennent seulement quelques appels aux prédicats de bibliothèque, les encapsulant dans une instruction `select` afin que leur sortie puisse être testée.\n\n## Définition d’un fichier de référence de requête\n\nChaque fichier de référence de requête, `.qlref`, contient une seule ligne qui définit où trouver une seule requête. L’emplacement doit être défini par rapport à la racine du pack CodeQL qui contient la requête.\nEn règle générale, il s’agit du pack CodeQL qui contient `.qlref`, un pack CodeQL spécifié dans le bloc `dependencies` pour le pack de tests ou une dépendance transitive du pack CodeQL.\n\nIl est préférable d’utiliser des barres obliques dans le chemin sur tous les systèmes d’exploitation pour garantir la compatibilité entre les systèmes.\n\n### Example\n\nFichier de référence de requête pour tester une requête d’alerte JavaScript : [DeadAngularJSEventListener.qlref](https://github.com/github/codeql/blob/main/javascript/ql/test/query-tests/AngularJS/DeadAngularJSEventListener/DeadAngularJSEventListener.qlref)\n\nLe fichier `qlpack.yml`, <https://github.com/github/codeql/blob/main/javascript/ql/test/qlpack.yml>, pour le pack CodeQL à `javascript/ql/test` définit `codeql/javascript-queries` comme une dépendance. Ainsi, le fichier de référence de requête définit l’emplacement de la requête par rapport au pack CodeQL `codeql/javascript-queries` :\n\n```shell\nAngularJS/DeadAngularJSEventListener.ql\n```\n\nPour obtenir un autre exemple, consultez [Test de requêtes personnalisées](/fr/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/testing-custom-queries)."}