Skip to main content

Testar consultas do CodeQL no Visual Studio Code

Você pode executar testes de unidade para consultas do CodeQL usando a extensão do Visual Studio Code.

Sobre consultas de teste no VS Code

Para garantir que suas consultas do CodeQL produzam os resultados esperados, você pode executar testes que comparam os resultados de consulta esperados com os resultados reais.

A extensão do CodeQL registra-se automaticamente com o modo de exibição "Teste". Esse modo de exibição mostra todos os testes encontrados em seu espaço de trabalho atual e fornece uma interface do usuário para explorar e executar testes em seu espaço de trabalho.

Para obter mais informações sobre criar testes do CodeQL, confira "Testar consultas personalizadas".

Para ver a saída mais detalhada da execução de testes de unidade, abra o log de testes do CodeQL. Para obter mais informações, confira "Acessando os logs".

Testar os resultados de suas consultas

  1. No Visual Studio Code, abra o modo de exibição “Testes” na barra lateral.

  2. Para executar um teste específico, passe o mouse sobre o nome do arquivo ou pasta e clique no botão de reprodução. Para executar todos os testes em seu espaço de trabalho, clique no botão de reprodução na parte superior do modo de exibição. Se um teste demorar muito tempo para ser executado, você pode clicar no botão parar na parte superior do modo de exibição para cancelar o teste.

    Captura de tela do modo de exibição "Testes", com o botão "Executar Teste" (para executar todos os testes) destacado em laranja-escuro.

  3. Os ícones mostram se um teste teve êxito ou falhou. Se falhar, clique no teste em "Resultados de Teste" para exibir as diferenças entre a saída esperada e a saída real.

    Captura de tela do modo de exibição "Resultados de Teste" exibindo as diferenças entre a saída esperada e a saída real de um teste.

  4. Compare os resultados. Se você quiser atualizar o teste com a saída real, clique com o botão direito do mouse no teste no modo de exibição "Testes" e clique em Aceitar Saída de Teste.

Monitorar o desempenho das consultas

O desempenho da consulta é importante quando você deseja executar uma consulta em bancos de dados grandes ou como parte do seu sistema de integração contínua.

Se você quiser examinar o desempenho da consulta, habilite a configuração "Consultas em Execução: Depurar" para incluir contagens de tempo e tuplas. Isso será mostrado nos logs na guia "Servidor de Consulta" do CodeQL do modo de exibição "Saída". A contagem de tuplas é útil porque indica o tamanho dos predicados computados pela consulta. Para obter mais informações sobre configurações de alterações, confira "Customizing settings".

Quando uma consulta é avaliada, o servidor de consulta armazena em cache os predicados calculados. Portanto, quando quiser comparar o desempenho de duas avaliações, você deve executar CodeQL: Clear Cache para limpar o cache do servidor de consulta antes de cada execução. Isso garante que você esteja comparando dados equivalentes.

Para obter mais informações sobre como monitorar o desempenho de suas consultas do CodeQL, confira "Troubleshooting query performance" e "Evaluation of QL programs" na documentação do CodeQL.

Próximas etapas

Quando tiver certeza de que sua consulta encontra os resultados que você deseja identificar, é possível usar a análise de variantes para executá-la em escala. Para obter informações sobre como executar análises em escala em muitos bancos de dados do CodeQL, confira "Executar consultas do CodeQL em escala com análise de variantes de vários repositórios".