devServer
С помощью секции devServer
можно запускать сервер, на который будут ходить тесты. Запуск происходит во время инициализации Testplane на событие INIT.
Секция devServer отвечает только за поднятие сервера.
Стоит учитывать, что описание devServer секции не изменяет baseUrl
, который нужно указывать правильно вручную.
Пример использования
import type { ConfigInput } from "testplane";
const SERVER_PORT = 3000;
export default {
// ...
devServer: {
command: "npm run server:dev",
env: { PORT: SERVER_PORT },
reuseExisting: true,
readinessProbe: {
url: `http://localhost:${SERVER_PORT}/health`,
timeouts: {
// optional
waitServerTimeout: 60_000, // default value
},
},
},
};
Справка по секции devServer
Параметр | Тип | По умолчанию | Описание |
command | string | N/A | Команда для запуска dev сервера. Если не указана, dev сервер не будет запущен. |
reuseExisting | boolean | false | Переиспользовать уже запущенный dev сервер вместо создания нового. Требует указания свойства "url" в секции "readinessProbe". Эта проверка готовности будет испол ьзоваться для проверки того, что сервер готов к работе. |
env | Record<string, string> | {} | Переменные окружения, которые должны быть переданы процессу с dev сервером, в дополнение к |
args | string[] | [] | Аргументы, которые должны быть переданы процессу с dev сервером. |
cwd | string | Ближайшая директория с package.json относительно конфига Testplane | Рабочая директория dev сервера. |
logs | boolean | true | Включает стриминг логов dev сервера в консоль с префиксом |
readinessProbe | (devServer: ChildProcess) => Promise<void/> | ReadinessProbeOpts | null | Проверка, что сервер готов принимать запросы. Если не указана, проверка отключена. |
command
Команда для запуска dev сервера. Если не указана, dev сервер не будет запущен.
reuseExisting
Переиспользовать уже запущенный dev сервер вместо создания нового. Когда эта опция включена, Testplane проверит, доступен ли сервер по указанному URL, прежде чем пытаться запустить новый.
Эта опция требует указания свойства url
в секции readinessProbe
, которое будет использоваться для проверки того, что сервер готов и доступен.
env
Переменные окружения, которые должны быть переданы процессу с dev сервером, в дополнение к process.env
основного процесса.
args
Аргументы, которые должны быть переданы процессу с dev сервером.
cwd
Рабочая директория dev сервера.
logs
Включает стриминг логов dev сервера в консоль с префиксом [dev server]
readinessProbe
Проверка, что сервер готов принимать запросы. Если не указана, проверка отключена.
Если передана асинхронная функция, Testplane дождется, пока результирующий промис будет отрезолвлен. Тип функции:
type readinessProbeFn = (devServer: ChildProcess) => Promise<void>;
Может быть передан объект ReadinessProbeOpts
:
Параметр | Тип | По умолчанию | Описание |
url | string | N/A | URL, по которому Testplane может проверить, что сервер готов принимать запросы. Проверка отключается, если он не указан. |
isReady | (fetchResponse => bool | Promise<bool>) | Функция, которая возвращает true , если статус ответа сервера 2xx | Предикат, определяющий готовность сервера по ответу на запрос к |
timeouts | ReadinessProbeTimeouts | см. описание |
|