@spec-box/collector v0.1.0
@spec-box/collector
Описание
@spec-box/collector
— это инструмент для сбора spec-box спецификаций тестов из файлов тестов Playwright.
Установка
npm install @spec-box/collector --save-dev
или
yarn add @spec-box/collector --dev
Конфигурация
Создайте файл конфигурации spec-collector.config.js
, .spec-collectorrc
, .spec-collectorrc.json
, .spec-collectorrc.yaml
, .spec-collectorrc.yml
, .spec-collectorrc.js
, в корне вашего проекта.
Минимальная конфигурация
module.exports = {
projects: [
{
configPath: './tests/integration-tests/playwright.config.ts',
},
],
// host и specBoxProject нужны только для выгрузки
host: 'https://your-spec-box-server.com',
specBoxProject: 'your-project-name',
};
Пример полной конфигурации
module.exports = {
projects: [
{
jsonReportPath: './integrations/test-results/report.json',
configPath: './integrations/playwright.config.ts',
emptyTestsYamlPath: './integrations/specBoxTests.yml',
rootPath: './',
},
{
jsonReportPath: './e2e/test-results/report.json',
configPath: './e2e/playwright.config.ts',
emptyTestsYamlPath: './e2e/specBoxTests.yml',
rootPath: './my-test-dir',
},
],
formatTitle: {
remove: ['.common'],
replace: [
['.int', ' [unternal]'],
['.external', ' [b2b]'],
],
},
ignoreFiles: ['setup'],
levels: 3,
outputFile: './spec-collector-result.json',
host: 'https://your-spec-box-server.com',
specBoxProject: 'your-project-name',
};
Использование
Быстрый старт
Создайте файл конфигурации с настройками по умолчанию:
npx spec-collector init
Затем отредактируйте созданный файл spec-collector.config.js
в соответствии с вашим проектом.
Запуск
Для корректной работе инструмента нужно чтобы запуск playwright тестов в list режиме отрабатывал без ошибок. Проверить можно выполнив
npx playwright test --list
Запускать через cli так
# сбор тест кейсов
npx spec-collector
# сбор тест кейсов с выгрузкой в spec-box
npx spec-collector -u
Команды CLI
npx spec-collector init
— создать файл конфигурации с настройками по умолчаниюnpx spec-collector init --force
— пересоздать файл конфигурации (перезаписать существующий)npx spec-collector --help
— показать справку
Работа со сценариями
Пакет дает возможность хранить в кодовой базе сценарии еще не написанных тестов. Playwright не будет видеть эти тесты и они не будут видны в отчетах. Сценарии могут использоваться для понимание реального тестового покрытия относительно целевого.
import {test as baseTest} from '@playwright/test';
import {extendTest} from '@spec-box/collector';
// Расширяем базовый тест методом empty
const test = extendTest(baseTest);
// Определяем пустой тест
test.empty('Еще не реализованный тест');
// Обычный тест
test('Обычный тест', async ({page}) => {
// ...
});
Структура проекта
src/cli.ts
- CLI интерфейсsrc/initCommand.ts
- Команда инициализации конфигаsrc/index.ts
- Основной модульsrc/SpecCollector.ts
- Класс для сбора спецификацийsrc/EmptyTestCollector.ts
- Класс для работы со сценариямиsrc/generateReport.ts
- Функция для генерации отчетовsrc/typings.ts
- Типы данных
Лицензия
MIT