Контроль якості - Rete.js

Контроль якості

Rete QAPlaywright

У цьому проекті є два види тестів - модульні та E2E

Модульні тести використовуються для перевірки окремих модулів у пакеті. Хоча цей підхід є швидким, він не гарантує належного функціонування всього продукту з точки зору користувача.

З іншого боку, E2E тести дозволяють комплексно перевірити продукт з точки зору користувача. Ми покладаємося на Playwright для E2E тестування, який інтегровано в пакет rete-qa і постачається з набором тестів інтерфейсу користувача для базових функцій фреймворку.

Методичні вказівки до написання контрольних робіт:

  • не ускладнюйте: створюйте тести, які легко писати та читати
  • н зосереджуйтесь занадто на показниках охоплення коду: використовуйте їх як еталон, але не робіть висновків виключно на основі % охоплення тестами
  • тестуйте одну річ за раз: це допоможе вам легше знаходити проблеми
  • покривайте крайові випадки: це забезпечує надійність тестів

Rete QA інструмент

Основною метою цього інструменту є проведення регресійного тестування інтерфейсу користувача на різних комбінаціях підтримуваних функцій, які представлені як окремі пакети та різні інтеграції з UI фреймворками.

Архітектура

Playwright слугує базовою технологією для цього інструменту тестування та дає змогу проводити тести в трьох різних типах браузерів: Chromium, Firefox, WebKit.

Крім того, ми тестуємо наш фреймворк на різних версіях UI фреймворків, таких як Angular, Svelte, Lit, Vue.js і React.js. Це дає нам 51 тестових прогонів у різних середовищах, оскільки у нас є матриця браузерів і версій фреймворку

Браузер \ СтекAngularSvelteVue.jsReact.jsLit
1918171615141312543321817163
Chromium
Firefox
WebKit

Встановлення

bash
npm i -g rete-qa

Не забудьте встановити додаткові системні залежності відповідно до інструкцій Playwright.

Ініціалізація

Виконайте команду та зачекайте, доки проекти будуть згенеровані для різних фреймворків і встановлено їхні залежності

bash
rete-qa init --deps-alias dependencies.json

де dependencies.json (необов'язково) - це JSON файл, який має містити відображення залежностей

Зазвичай залежності встановлюються з npmjs за допомогою тегу latest, але ви можете вказати іншу версію, вказавши name@version або шлях до архіву. Наприклад, ви можете замінити плагін своєю власною версією плагіна, яка ще не була опублікована

json
{
  "my-rete-plugin": "../my-plugin/my-rete-plugin-1.0.0.tgz"
}

Виконайте тести

Виконайте тести для наданих стеків (React.js, Vue.js, Angular, Svelte, Lit) і різних браузерів (Chromium, Firefox, WebKit )

bash
rete-qa test