Как я могу запустить некоторый код в Node до запуска теста браузера с Intern? - PullRequest
0 голосов
/ 22 февраля 2020

С Intern, как я могу запустить некоторый установочный код в Node до запуска тестов браузера, но не при запуске тестов Node? Я знаю, что мог бы сделать это за пределами Intern полностью, но есть ли что-нибудь, что является частью Intern, которое могло бы справиться с этим?

Для более конкретного примера: я запускаю тесты для библиотеки HTTP, которая взаимодействует с Python сервер. При работе в Node я могу запустить spawn("python", ["app.py"]), чтобы запустить сервер. Однако в браузере мне нужно будет выполнить эту команду до того, как браузер начнет запускать тесты.

По-другому: есть ли встроенный способ, позволяющий Intern запускать некоторый код в процессе Node до запуск тестов браузера?

1 Ответ

0 голосов
/ 23 февраля 2020

По умолчанию Intern будет запускать плагины, настроенные для node, независимо от того, в какой среде вы работаете.

Итак, вы можете создать плагин, который подключается к runStart и runEnd события типа этого:

intern.on("runStart", () => {
  console.log("Starting...");
  // Setup code here
});

intern.on("runEnd", () => {
  console.log("Ending...");
  // Teardown code here
});

Эти обработчики будут работать внутри процесса Node и, таким образом, иметь доступ ко всем доступным API-интерфейсам Node.

Кроме того, вы можете определить, какие среды тестируются Глядя на intern.config.environments:

{
  environments: [
    {
      browserName: 'chrome',
      browserVersion: undefined,
      version: undefined
    }
  ]
}

Глядя на окружение, вы можете определить, нужно ли вам запускать код установки.

...