Отображение результатов тестирования Spectron-Webdriverio в TeamCity

Я хотел бы отобразить результаты испытаний Spectron в TeamCity. Я следовал инструкциям на странице Webdriverio TeamCity Reporter, которые:

npm install wdio-teamcity-reporter --save-dev

и создание файла wdio.conf.js:

 exports.config = {
  reporters: ['teamcity'],
}

Я разместил этот файл в верхней части проекта. У него нет других записей; Я никогда не нуждался в этом раньше.

Я также попробовал дополнительную конфигурацию, предложенную на странице ndio wdio-teamcity-reporter.

Это объект Jest в package.json:

"jest": {
    "moduleFileExtensions": [
      "ts",
      "tsx",
      "js"
    ],
    "transform": {
      "\\.(ts|tsx)$": "<rootDir>/node_modules/ts-jest/preprocessor.js"
    },
    "roots": [
      "<rootDir>/__tests__/",
      "<rootDir>/components/"
    ],
    "modulePaths": [
      "<rootDir>/__tests__/",
      "<rootDir>/components/"
    ],
    "testMatch": [
      "**/?(*.)(spec|test).(ts)?(x)"
    ]
  }

И это соответствующая команда (которую вызывает TeamCity) в package.json:

  "scripts": {
    // ...
    "test": "jest --maxWorkers=1 --forceExit",
    // ...
  },

Этот тестовый проект построен с использованием Typescript и Jest и включает только тесты e2e Spectron для приложения Electron. Артефакт сборки для этого приложения - это зависимость TeamCity для моей тестовой сборки. В моей сборке TeamCity устанавливает приложение, запускает тесты Spectron (которые проходят), а затем удаляет приложение.

Все, что я сейчас вижу, это вывод консоли Jest в журнале сборки. Хотя есть некоторые скрытые артефакты, я не вижу нормальных артефактов. Я думал, что пакет отчетов должен был создать артефакт HTML. Как мне перейти к отображению тестовой вкладки или другого полезного набора результатов?

1 ответ

Оказывается, Jest может собрать все результаты Webdriver. Попробуйте использовать http://jest-teamcity/.

В jest.config.js используйте:

"testResultsProcessor": "jest-teamcity"
Другие вопросы по тегам