Skip to main content

Тестирование запросов CodeQL в Visual Studio Code

Вы можете запускать модульные тесты запросов CodeQL с помощью расширения Visual Studio Code .

О тестировании запросов в VS Code

Чтобы убедиться, что ваши CodeQL запросы дают ожидаемые результаты, вы можете провести тесты, сравнивающие ожидаемые результаты запроса с реальными.

Расширение CodeQL автоматически регистрируется в виде «Тестирование». Это представление отображает все тесты, найденные в текущей рабочей области, и предоставляет пользовательский интерфейс для изучения и выполнения тестов в рабочей области.

Для получения дополнительной информации о создании CodeQL тестов см. Тестирование пользовательских запросов.

Чтобы увидеть более подробный результат запуска модульных тестов, откройте CodeQL журнал тестов. Дополнительные сведения см. в разделе Доступ к логам для CodeQL входа Visual Studio Code.

Тестирование результатов запросов

  1. В , откройте Visual Studio Codeрежим «Тестирование» в боковой панели.

  2. Чтобы выполнить определенный тест, наведите указатель мыши на имя файла или папки и нажмите кнопку воспроизведения. Чтобы запустить все тесты в рабочей области, нажмите кнопку воспроизведения в верхней части представления. Если тест занимает слишком много времени, нажмите кнопку остановки в верхней части представления, чтобы отменить тест.

    Снимок экрана: представление "Тестирование" с кнопкой "Выполнить тест" (для выполнения всех тестов), описанной в темно-оранжевый цвет.

  3. Значки показывают, прошел ли тест или завершился сбоем. Если он завершился ошибкой, щелкните тест в разделе "Результаты теста", чтобы отобразить различия между ожидаемыми выходными данными и фактическими выходными данными.

    Снимок экрана: представление "Результаты теста", отображающее различия между ожидаемыми выходными данными и фактическими выходными данными для теста.

  4. Сравните результаты. Если вы хотите обновить тест с фактическими выходными данными, щелкните правой кнопкой мыши тест в представлении "Тестирование" и нажмите кнопку "Принять выходные данные теста".

Мониторинг производительности запросов

Производительность запросов важна при выполнении запроса в больших базах данных или в составе системы непрерывной интеграции.

Если вы хотите проверить производительность запросов, включите параметр "Выполнение запросов: отладка", чтобы включить количество времени и кортежей. Это будет отображаться в логах на CodeQL вкладке «Сервер запросов» в виде «Вывод». Количество кортежей полезно, так как оно указывает размер предикатов , вычисляемых запросом. Дополнительные сведения об изменении параметров см. в разделе Настройка параметров.

При оценке запроса сервер запросов кэширует предикаты, которые он вычисляет. Поэтому, когда вы хотите сравнить производительность двух оценок, следует выполнитьCodeQL : Clear Cache, чтобы очистить кэш сервера запросов перед каждым запуском. Это гарантирует сравнение эквивалентных данных.

Для получения дополнительной информации о мониторинге производительности ваших CodeQL запросов см. разделы «Устранение неполадок при выполнении запросов » и «Оценка программ QL » в CodeQL документации.