{"meta":{"title":"Arquivos de referência de consulta","intro":"Você pode usar arquivos de referência de consulta para definir o local de uma consulta que deseja executar em testes.","product":"Qualidade de segurança e código","breadcrumbs":[{"href":"/pt/code-security","title":"Qualidade de segurança e código"},{"href":"/pt/code-security/concepts","title":"Concepts"},{"href":"/pt/code-security/concepts/code-scanning","title":"Varredura de código"},{"href":"/pt/code-security/concepts/code-scanning/codeql","title":"CodeQL"},{"href":"/pt/code-security/concepts/code-scanning/codeql/query-reference-files","title":"Arquivos de referência de consulta"}],"documentType":"article"},"body":"# Arquivos de referência de consulta\n\nVocê pode usar arquivos de referência de consulta para definir o local de uma consulta que deseja executar em testes.\n\n## Sobre os arquivos de referência de consulta\n\nUm arquivo de referência de consulta é um arquivo de texto que define o local de uma consulta a ser testada.\n\nUse um arquivo de referência de consulta quando quiser instruir o subcomando `test run` a executar uma consulta que não faça parte de um diretório de teste.\nHá duas maneiras de especificar consultas que você deseja executar como testes:\n\n1. Use um arquivo de referência de consulta para especificar o local de uma consulta a ser testada.\n   Isso é útil quando você cria testes para consultas de alerta e de caminho destinadas a identificar problemas em bases de código reais. Você pode criar vários diretórios de código de teste, cada um com foco em diferentes aspectos da consulta. Depois, você adicionaria um arquivo de referência de consulta a cada diretório de código de teste para especificar a consulta a ser testada.\n2. Adicione a consulta diretamente a um diretório de testes.\n   Isso é útil quando você está escrevendo consultas explicitamente para testar o comportamento das bibliotecas do QL. Geralmente, essas consultas contêm apenas algumas chamadas para predicados de biblioteca, encapsulando-as em uma instrução `select` para que a saída possa ser testada.\n\n## Como definir um arquivo de referência de consulta\n\nCada arquivo de referência de consulta, `.qlref`, contém uma só linha que define onde encontrar uma consulta. O local precisa ser definido em relação à raiz do pacote CodeQL que contém a consulta.\nNormalmente, esse é o pacote do CodeQL que contém o `.qlref`, um pacote do CodeQL especificado no bloco `dependencies` do pacote de teste ou uma dependência transitiva do pacote CodeQL.\n\nVocê deve usar barras \"/\" no caminho em todos os sistemas operacionais para garantir a compatibilidade entre os sistemas.\n\n### Example\n\nUm arquivo de referência de consulta para testar uma consulta de alerta do JavaScript: [DeadAngularJSEventListener.qlref](https://github.com/github/codeql/blob/main/javascript/ql/test/query-tests/AngularJS/DeadAngularJSEventListener/DeadAngularJSEventListener.qlref)\n\nO arquivo `qlpack.yml`, <https://github.com/github/codeql/blob/main/javascript/ql/test/qlpack.yml>, para o pacote CodeQL em `javascript/ql/test` define `codeql/javascript-queries` como uma dependência. Portanto, o arquivo de referência da consulta define a localização da consulta em relação ao pacote CodeQL `codeql/javascript-queries`:\n\n```shell\nAngularJS/DeadAngularJSEventListener.ql\n```\n\nPara ver outro exemplo, confira [Testar consultas personalizadas](/pt/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/testing-custom-queries)."}