Компонентное тестирование
Введение
Узнайте больше об этом в посте про Компонентное тестирование в нашем блоге.
Пример
import { render } from '@testing-library/react';
import Component from '../Component';
it('should render react component', async ({browser}) => {
// Отрендерить компонент на изолированной странице
render(<Component />);
// Найти кнопку внутри компонента и кликнуть по ней
const button = await browser.$("button");
await button.click();
// Проверить, что текст кнопки имеет ожидаемое значение
await expect(button).toHaveText("count is 1");
});
Как начать?
Давайте настроим тестирование реакт компонентов, написанных на Typescript.
Шаг 1: Установка Testplane и необходимых зависимостей
npm init testplane@latest
npm i vite @vitejs/plugin-react @testing-library/react --save-dev
npm i react --save
Шаг 2: Создание конфигурации Vite и подключение плагина react
vite.config.ts
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
export default defineConfig({
plugins: [react()],
});
Шаг 3: Настройка запуска тестов в браузере (используя опцию testRunEnv)
.testplane.conf.ts
export default {
// ...
system: {
// ...
testRunEnv: ["browser", { viteConfig: "./vite.config.ts" }],
},
sets: {
linux: {
files: ["src/tests/**/*.testplane.tsx"],
browsers: ["chrome"],
},
},
};
также добавьте параметр компиляции "jsx": "react-jsx" в ваш файл tsconfig.json:
tsconfig.json
{
"compilerOptions": {
"types": [
// ...
],
"jsx": "react-jsx"
}
}