mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-13 01:14:56 +03:00
docs(web-test): актуализация контракта test CLI (несколько путей, --url)
Спека §1, regress.md, README приведены в соответствие новому контракту: сигнатура `test <dir|file>...`, несколько путей (дедуп + сортировка), флаг --url=, заметка про резолв webtest.config.mjs/_hooks.mjs от каталога первого пути. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -12,11 +12,14 @@
|
||||
## 1. Командная строка
|
||||
|
||||
```
|
||||
node run.mjs test [url] <dir|file> [флаги]
|
||||
node run.mjs test <dir|file>... [флаги]
|
||||
```
|
||||
|
||||
Позиционные аргументы — это пути к тестам (файлы `*.test.mjs` и/или каталоги), можно указать несколько: `node run.mjs test a.test.mjs b.test.mjs dir/`. Файлы из каталогов обходятся рекурсивно; итоговый набор дедуплицируется и сортируется (порядок по числовым префиксам `00-`, `01-`, … сохраняется независимо от порядка аргументов). Путь, которого нет на диске, → ранняя понятная ошибка (аргумент, похожий на URL, подскажет про `--url=`).
|
||||
|
||||
| Флаг | По умолчанию | Описание |
|
||||
|------|-------------|----------|
|
||||
| `--url=URL` | (из конфига) | Переопределить базовый URL дефолтного контекста |
|
||||
| `--tags=smoke,crud` | (все) | Фильтр тестов по тегам (пересечение) |
|
||||
| `--grep=pattern` | (все) | Фильтр тестов по имени (регулярное выражение) |
|
||||
| `--bail` | false | Остановиться при первом падении |
|
||||
@@ -30,7 +33,7 @@ node run.mjs test [url] <dir|file> [флаги]
|
||||
| `--record` | false | Записывать видео для каждого теста (mp4 в `--report-dir`) |
|
||||
| `-- <hookArgs…>` | — | Всё после `--` пробрасывается в `_hooks.mjs` как `hookArgs` (см. §6.1) |
|
||||
|
||||
URL необязателен, если в каталоге тестов есть `webtest.config.mjs`. CLI URL переопределяет URL дефолтного контекста.
|
||||
URL не передаётся позиционно — он берётся из `webtest.config.mjs` в каталоге тестов, а флаг `--url=` переопределяет URL дефолтного контекста. `webtest.config.mjs` и `_hooks.mjs` резолвятся от каталога **первого** пути, поэтому перечисляемые файлы должны лежать в одной папке сьюта.
|
||||
|
||||
### Валидация CLI
|
||||
|
||||
@@ -876,6 +879,7 @@ tests/myapp/
|
||||
|--------|-----------|
|
||||
| Обход | Рекурсивный; файлы и каталоги, имя которых начинается на `_` или `.`, пропускаются |
|
||||
| Шаблон имени | Только `*.test.mjs` |
|
||||
| Несколько путей | `node run.mjs test a.test.mjs b.test.mjs dir/` — наборы объединяются, дублируются и сортируются |
|
||||
| Порядок | Сортировка по полному относительному пути (`sales/01` идёт до `warehouse/01`) |
|
||||
| `file` в отчёте | `relative(testDir, file)` с разделителем `/`, например `sales/01-order-create.test.mjs` |
|
||||
| Фильтр по пути с CLI | `node run.mjs test tests/myapp/sales/` запустит только подкаталог |
|
||||
|
||||
Reference in New Issue
Block a user