@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