JSPM

@scenax/core

0.1.0-rc.1
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 1
    • Score
      100M100P100Q17038F
    • License MIT

    A structured DSL layer over official allure-vitest — write readable, scalable API tests with decorators, steps, and TestOps features.

    Package Exports

    • @scenax/core

    Readme

    🧪 scenax

    Turn your Vitest API tests into structured, human-readable reports — with steps, labels, and TestOps flair.

    🚀 Что это

    📦 scenax — это расширение для Vitest, позволяющее писать тесты с декларативным DSL и встроенной интеграцией с Allure TestOps.

    • Поддержка allureId, displayName, severity, labels, epic, story
    • Шаги (step) и вложенность
    • Прикрепление данных и артефактов (attach)
    • Без магии: работает с обычным vitest

    🔧 Установка

    npm install vitest allure-js-commons axios

    💡 Пока проект не опубликован в npm, можно просто скопировать src/index.ts

    🧪 Пример

    import { testCase, step, attach } from '../src/index'
    import axios from 'axios'
    
    testCase(
      'GET /profile',
      {
        id: 'API-101',
        name: 'Получение профиля',
        feature: 'Профиль',
        severity: 'critical'
      },
      async () => {
        const response = await step('Отправка запроса', () =>
          axios.get('https://jsonplaceholder.typicode.com/users/1')
        )
    
        attach('Ответ', JSON.stringify(response.data, null, 2), 'application/json')
    
        await step('Проверка имени', () => {
          if (response.data.username !== 'Bret') {
            throw new Error('Неверный username')
          }
        })
      }
    )

    📈 Интеграция с Allure TestOps

    • Поддерживаются allureId, labels, severity, epic, feature, story
    • Результаты сохраняются в ./allure-results
    • Используй allurectl для отправки отчётов:
    allurectl upload --results=./allure-results

    🛠️ В планах

    • ✅ Базовый DSL
    • ✅ Примеры тестов
    • 🧩 Кастомный reporter
    • 🧪 Параметризация
    • 📝 Статья на Хабр
    • CI-интеграция и GitHub Actions

    👋 Контакты

    Разработка: Dmitry N.
    Идея и поддержка: сообщество Vitest & Allure ❤️