# Конфигурация запуска

Конфигурация настраивается в файле json и может иметь следующие параметры.

## Основные параметры

| Имя параметра     | Тип       | Значение по умолчанию                           | Описание                                                                                                     |
|-------------------|-----------|-------------------------------------------------|--------------------------------------------------------------------------------------------------------------|
| `filter`          | `Object`  | [Object, смотрите ниже](#параметры-фильтрации)  | Параметры фильтрации, поиска тестов                                                                          |
| `reportFormat`    | `String`  | `"jUnit"`                                       | Формат отчета о тестировании, возможные значения: `"jUnit"`, `"JSON"`                                        |
| `reportPath`      | `String`  | `""`                                            | Путь к формируемому отчету, можно указать или каталог (в которому будет создан файл отчета) или путь к файлу |
| `closeAfterTests` | `Boolean` | `True`                                          | Признак закрытия 1С:Предприятие по завершению тестирования                                                   |
| `showReport`      | `Boolean` | `True`                                          | Открыть форму отчета завершению тестирования                                                                 |
| `logging`         | `Object`  | [Object, смотрите ниже](#параметры-логирования) | Параметры логирования, подробнее ниже                                                                        |
| `exitCode`        | `String`  | `""`                                            | Путь к файлу, в который будет записан признак успешного выполнения (0 - успешно, 1 - есть ошибки)            |

## Параметры фильтрации

| Имя параметра | Тип     | Значение по умолчанию | Описание                                                                     |
|---------------|---------|-----------------------|------------------------------------------------------------------------------|
| `extensions`  | `Array` | `["tests"]`           | Список имен расширений, из которых грузятся тесты                            |
| `modules`     | `Array` | `Null`                | Список имен модулей, из которых грузятся тесты                               |
| `tests`       | `Array` | `Null`                | Список полных путей к исполняемым тестам (`[имя модуля.имя теста]`)          |
| `suites`      | `Array` | `Null`                | **Не реализованно.** Список имен тестовых наборов, которые будут запускаться |
| `tags`        | `Array` | `Null`                | **Не реализованно.** Список тегов, которые будут запускаться                 |
| `contexts`    | `Array` | `Null`                | Список имен контекстов исполнения, в которых будут запускаться тесты         |
| `paths`       | `Array` | `Null`                | **Не реализованно.** Список полных путей к исполняемым тестам                |

## Параметры логирования

| Имя параметра | Тип       | Значение по умолчанию | Описание                                                                                                                    |
|---------------|-----------|-----------------------|-----------------------------------------------------------------------------------------------------------------------------|
| `file`        | `String`  | `""`                  | Путь к файлу лога                                                                                                           |
| `enable`      | `Boolean` | `Null`                | Признак использования логирования. Если не указан, зависит от параметра `file`, если он указан - вкл, если не указан - выкл |
| `level`       | `String`  | `"debug"`             | Уровень детализации лога. Возможные значения: `"debug"`, `"info"`, `"error"`                                                |

Примеры:

1. Запустить тесты расположенные в модулях `МодульТестов1`, `МодульТестов2`, закрыть предприятие по завершении и сохранить отчет в формате `junit`

    ```JSON
    {
        "filter": {
            "modules": ["МодульТестов1", "МодульТестов2"]
        },
        "reportPath": "C:\\temp\\jUnit\\report.xml",
        "reportFormat": "jUnit",
        "closeAfterTests": true
    }
    ```

2. Запустить все тесты из расширения `YAXUNIT` и сохранить отчет файл `C:\temp\jUnit\report.xml`, остальные параметры будут установлены по умолчанию

    ```JSON
    {
        "filter": {
            "extensions": ["YAXUNIT"]
        },
        "reportPath": "C:\\temp\\jUnit\\report.xml"
    }
    ```

3. Запустить все тесты с выводом подробного лога в файл, сохранить отчет файл `C:\temp\jUnit\report.xml`

    ```JSON
    {
        "reportPath": "C:\\temp\\jUnit\\report.xml",
        "logging": {
            "file": "C:\\temp\\jUnit\\tests.log",
            "level": "debug"
        }
    }
    ```