Skip to content

Тесты страниц

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

Автоматическая связь

Тест связывается со страницей, если импортирует её компонент, следует соглашению одинаковых имён или переходит к полному маршруту в тестовом сценарии. PageFlow показывает причину каждой связи.

Явные сопоставления

Если автоматическая связь неоднозначна, используйте glob-шаблоны маршрутов и файлов.

ts
PageFlow.vite({
  pageTests: {
    '/orders/**': ['tests/orders-*.spec.ts'],
  },
})

Тестовые команды

По умолчанию команды не угадываются и не включаются. Явно настройте каждый поддерживаемый тип теста.

ts
PageFlow.vite({
  testCommands: {
    unit: {
      command: 'pnpm',
      args: ['vitest', 'run', '{file}', '-t', '{name}'],
    },
    component: {
      command: 'pnpm',
      args: ['vitest', 'run', '{file}', '-t', '{name}'],
    },
    e2e: {
      command: 'pnpm',
      args: ['playwright', 'test', '{file}', '-g', '{name}'],
      timeoutMs: 180_000,
    },
  },
})

{file} и {name} заменяются индексированными значениями. Команды запускаются из корня проекта с shell: false. Тайм-аут по умолчанию — 120 секунд; timeoutMs принимает от 1 секунды до 30 минут.

Результаты

Панель страницы показывает состояния: неизвестно, выполняется, успешно, неуспешно, пропущено или отменено. Выполняющийся тест можно отменить из PageFlow. Вывод тестов остаётся только в разработке и не включается в производственный bundle.

Опубликовано по лицензии MIT.