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

Как обновить Hermione до Testplane

warning

Если в вашем проекте Hermione младше 8-й версии, то прочтите сначала:

Мы рекомендуем вам обновлять Hermione поэтапно, убеждаясь на каждом этапе, что все тесты проекта корректно выполняются.

Что изменилось?

Этот проект ранее назывался Hermione, но со временем возникли некоторые проблемы с авторскими правами и товарными знаками, что привело к решению о ребрендинге. После некоторого обсуждения мы остановились на Testplane в качестве официального нового названия. Так как это изменение является простым ребрендингом, мы продолжили сквозное версионирование, вместо того, чтобы начинать версионирование заново. Таким образом, Testplane@8.x является простой заменой Hermione@8.x. Testplane имеет полную обратную совместимость c Hermione — умеет читать конфиги Hermione, поддерживает ее плагины, а для более плавного переезда экспортирует сразу 2 bin-файла (testplane и hermione).

Как переехать?

1. Заменить npm-зависимости hermione на testplane в package.json

npm uninstall hermione
npm install -D testplane

2. В вашем ts-конфиге tsconfig.json заменить поле hermione на testplane

{
"compilerOptions": {
"types": [
"testplane"
]
}
}

3. Заменить все импорты и декларации пакета hermione (при наличии)

  • import ... from "hermione"import ... from "testplane"
  • require("hermione")require("testplane")
  • declare module "hermione"declare module "testplane"

4. Опциональные изменения (не обязательны для переезда, но рекомендованные)

  • при запуске используйте bin-файл testplane вместо hermione;
  • переименуйте файл конфигурации .hermione.conf.(t|j)s в .testplane.conf.(t|j)s;
  • используйте глобальный хелпер globalThis.testplane вместо globalThis.hermione;
  • для переопределения конфига используйте переменные окружения, начинающиеся на testplane_ вместо hermione_;
  • используйте поле testplane вместо hermione в обработчиках событий;
  • для тайпингов используйте TestplaneCts вместо HermioneCtx;
  • для получения контекста в тесте используйте свойство браузера executionContext.testplaneCtx вместо executionContext.hermioneCtx;
  • если вы используете дефолтное значение опции screenshotsDir, то переименуйте папку со скриншотами "hermione/screens" в "testplane/screens" иил явно укажите в конфиге значение;
  • если вы используете дефолтное значение опции sets.files, то переименуйте вашу папку с тестами "hermione → testplane" или укажите явно значение опции.

Поддержка

Если при переезде вы столкнетесь с проблемами или у вас возникнут какие-либо вопросы, то приходите в github issues — и мы обязательно вам поможем!