У цьому проекті є два види тестів - модульні та E2E
Модульні тести використовуються для перевірки окремих модулів у пакеті. Хоча цей підхід є швидким, він не гарантує належного функціонування всього продукту з точки зору користувача.
З іншого боку, E2E тести дозволяють комплексно перевірити продукт з точки зору користувача. Ми покладаємося на Playwright для E2E тестування, який інтегровано в пакет rete-qa
і постачається з набором тестів інтерфейсу користувача для базових функцій фреймворку.
Методичні вказівки до написання контрольних робіт:
Основною метою цього інструменту є проведення регресійного тестування інтерфейсу користувача на різних комбінаціях підтримуваних функцій, які представлені як окремі пакети та різні інтеграції з UI фреймворками.
Playwright слугує базовою технологією для цього інструменту тестування та дає змогу проводити тести в трьох різних типах браузерів: Chromium, Firefox, WebKit.
Крім того, ми тестуємо наш фреймворк на різних версіях UI фреймворків, таких як Angular, Svelte, Lit, Vue.js і React.js. Це дає нам 51 тестових прогонів у різних середовищах, оскільки у нас є матриця браузерів і версій фреймворку
Браузер \ Стек | Angular | Svelte | Vue.js | React.js | Lit | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 5 | 4 | 3 | 3 | 2 | 18 | 17 | 16 | 3 | |
Chromium | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Firefox | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
WebKit | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
npm i -g rete-qa
Не забудьте встановити додаткові системні залежності відповідно до інструкцій Playwright.
Виконайте команду та зачекайте, доки проекти будуть згенеровані для різних фреймворків і встановлено їхні залежності
rete-qa init --deps-alias dependencies.json
де dependencies.json
(необов'язково) - це JSON файл, який має містити відображення залежностей
Зазвичай залежності встановлюються з npmjs за допомогою тегу latest
, але ви можете вказати іншу версію, вказавши name@version
або шлях до архіву. Наприклад, ви можете замінити плагін своєю власною версією плагіна, яка ще не була опублікована
{
"my-rete-plugin": "../my-plugin/my-rete-plugin-1.0.0.tgz"
}
Виконайте тести для наданих стеків (React.js, Vue.js, Angular, Svelte, Lit) і різних браузерів (Chromium, Firefox, WebKit )
rete-qa test