# Запрос ссылочных файлов

Вы можете использовать файлы ссылок на запросы для определения расположения запроса, который требуется выполнить в тестах.

## Сведения о справочных файлах запросов

Файл ссылки на запрос — это текстовый файл, определяющий расположение одного запроса для тестирования.

Вы используете файл ссылки на запрос, если вы хотите сообщить `test run` подкомандам выполнить запрос, который не является частью тестового каталога.
Существует два способа указать запросы, которые необходимо выполнить в качестве тестов:

1. Используйте файл ссылки на запрос, чтобы указать расположение запроса для тестирования.
   Это полезно при создании тестов для запросов оповещений и путей, предназначенных для выявления проблем в реальных базах кода. Вы можете создать несколько каталогов тестового кода, каждый из которых фокусируется на различных аспектах запроса. Затем вы добавите файл ссылки на запрос в каждый каталог тестового кода, чтобы указать запрос для тестирования.
2. Добавьте запрос непосредственно в каталог тестов.
   Обычно это полезно при написании запросов явным образом для тестирования поведения библиотек QL. Часто эти запросы содержат всего несколько вызовов предикатов библиотеки, упаковав их в `select` инструкцию, чтобы их выходные данные можно было проверить.

## Определение ссылочного файла запроса

Каждый файл `.qlref`ссылки на запрос содержит одну строку, которая определяет, где найти один запрос. Расположение должно быть определено относительно корневого каталога пакета CodeQL, содержащего запрос.
Обычно это пакет CodeQL, содержащий `.qlref`пакет CodeQL , указанный в `dependencies` блоке для тестового пакета, или транзитивную зависимость пакета CodeQL .

Для обеспечения совместимости между системами следует использовать косую черту в пути ко всем операционным системам.

### Example

Файл ссылки на запрос для тестирования запроса оповещения JavaScript: [DeadAngularJSEventListener.qlref](https://github.com/github/codeql/blob/main/javascript/ql/test/query-tests/AngularJS/DeadAngularJSEventListener/DeadAngularJSEventListener.qlref)

Файл `qlpack.yml` , <https://github.com/github/codeql/blob/main/javascript/ql/test/qlpack.ymlдля> пакета CodeQL определяется `javascript/ql/test``codeql/javascript-queries` как зависимость. Поэтому файл ссылки на запрос определяет расположение запроса относительно `codeql/javascript-queries` пакета CodeQL:

```shell
AngularJS/DeadAngularJSEventListener.ql
```

Другой пример см. в разделе [Тестирование пользовательских запросов](/ru/enterprise-server@3.20/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/testing-custom-queries).