@@ -15,6 +15,7 @@ $filter = new Filter(
1515 suites: ['Unit', 'Integration'],
1616 names: ['UserTest::testLogin', 'testAuthentication'],
1717 paths: ['tests/Unit/*', 'tests/Integration/*'],
18+ type: 'test',
1819);
1920```
2021
@@ -40,6 +41,12 @@ $filter = new Filter(
4041- Пути к файлам или директориям для фильтрации
4142- Поддерживает glob-паттерны: ` * ` , ` ? ` , ` [abc] `
4243
44+ ** ` type ` ** : ` ?non-empty-string `
45+ - Тип тестов для фильтрации
46+ - Возможные значения: ` test ` (обычные тесты), ` inline ` (встроенные тесты), ` bench ` (бенчмарки), или другие пользовательские типы
47+ - Если не указан — запускаются все типы тестов
48+ - Мидлвари, привязанные к определённому типу, не попадут в пайплайн, если тип не совпадает
49+
4350### Использование с Application
4451
4552Объект ` Filter ` может быть передан в ` Application::run() ` :
@@ -73,17 +80,19 @@ $result = $app->run($filter);
7380
7481- ` names: ['test1'], suites: ['Unit'] ` → совпадает, если имя test1 ** И** Test Suite - Unit
7582- ` names: ['UserTest'], paths: ['tests/Unit/*'] ` → совпадает, если имя UserTest ** И** путь соответствует tests/Unit/*
83+ - ` names: ['test1'], type: 'inline' ` → совпадает, если имя test1 ** И** тип - inline
7684
77- ** Формула** : ` AND(OR(names), OR(paths), OR(suites)) `
85+ ** Формула** : ` AND(OR(names), OR(paths), OR(suites), type ) `
7886
7987** Пример:**
8088``` php
8189$filter = new Filter(
8290 names: ['test1', 'test2'], // test1 ИЛИ test2
8391 paths: ['path1', 'path2'], // path1 ИЛИ path2
84- suites: ['Unit', 'Critical'], // Unit ИЛИ Critical
92+ suites: ['Unit', 'Critical'], // Unit ИЛИ Critical
93+ type: 'test', // только обычные тесты
8594);
86- // Результат: (test1 ИЛИ test2) И (path1 ИЛИ path2) И (Unit ИЛИ Critical)
95+ // Результат: (test1 ИЛИ test2) И (path1 ИЛИ path2) И (Unit ИЛИ Critical) И type=test
8796```
8897
8998## Поведение фильтра по именам
0 commit comments