Перейти к основному содержимому

devServer

С помощью секции devServer можно запускать сервер, на который будут ходить тесты. Запуск происходит во время инициализации Testplane на событие INIT.

Пример использования

testplane.config.ts
import type { ConfigInput } from "testplane";

const SERVER_PORT = 3000;

export default {
// ...
devServer: {
command: "npm run server:dev",
env: { PORT: SERVER_PORT },
readinessProbe: {
url: `http://localhost:${SERVER_PORT}/health`,
timeouts: {
// optional
waitServerTimeout: 60_000, // default value
},
},
},
};

Справка по секции devServer

ПараметрТипПо умолчаниюОписание
commandstringN/A

Команда для запуска dev сервера. Если не указана, dev сервер не будет запущен.

envRecord<string, string>{}

Переменные окружения, которые должны быть переданы процессу с dev сервером, в дополнение к process.env основного процесса.

argsstring[][]

Аргументы, которые должны быть переданы процессу с dev сервером.

cwdstringБлижайшая директория с package.json относительно конфига Testplane

Рабочая директория dev сервера.

logsbooleantrue

Включает стриминг логов dev сервера в консоль с префиксом [dev server].

readinessProbe(devServer: ChildProcess) => Promise<void/> | ReadinessProbeOptsnull

Проверка, что сервер готов принимать запросы. Если не указана, проверка отключена.

command

Команда для запуска dev сервера. Если не указана, dev сервер не будет запущен.

env

Переменные окружения, которые должны быть переданы процессу с dev сервером, в дополнение к process.env основного процесса.

args

Аргументы, которые должны быть переданы процессу с dev сервером.

cwd

Рабочая директория dev сервера.

logs

Включает стриминг логов dev сервера в консоль с префиксом [dev server]

readinessProbe

Проверка, что сервер готов принимать запросы. Если не указана, проверка отключена.

Если передана асинхронная функция, Testplane дождется, пока результирующий промис будет отрезолвлен. Тип функции:

type readinessProbeFn = (devServer: ChildProcess) => Promise<void>;

Может быть передан объект ReadinessProbeOpts:

ПараметрТипПо умолчаниюОписание
urlstringN/A

URL, по которому Testplane может проверить, что сервер готов принимать запросы. Проверка отключается, если он не указан.

isReady(fetchResponse => bool | Promise<bool>)Функция, которая возвращает true, если статус ответа сервера 2xx

Предикат, определяющий готовность сервера по ответу на запрос к url.

timeoutsReadinessProbeTimeoutsсм. описание
  • waitServerTimeout — таймаут на ожидание готовности сервера в мс. По умолчанию: 60_000.
  • probeRequestTimeout — таймаут одного запроса на проверку готовности в мс. По умолчанию: 10_000.
  • probeRequestInterval — интервал между проверками в мс. По умолчанию: 1_000.