在TeamCity中显示Spectron-Webdriverio测试结果

时间:2017-12-12 01:59:48

标签: teamcity jestjs webdriver-io spectron

我想在TeamCity中显示Spectron测试结果。我已按照Webdriverio TeamCity Reporter page上的说明进行操作,这些说明是:

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

并创建一个wdio.conf.js文件:

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

我已将此文件放在项目的顶部。它没有其他条目;我以前从未需要它。

我还尝试了wdio-teamcity-reporter npm page.

建议的其他配置

这是package.json中的Jest对象:

"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)"
    ]
  }

这是package.json中的相关命令(TeamCity调用):

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

此测试项目使用Typescript和Jest构建,仅包含针对Electron应用程序的e2e Spectron测试。该应用程序的构建工件是我的测试“构建”的TeamCity依赖项。在我的构建中,TeamCity安装应用程序,运行Spectron测试(正在通过),然后卸载应用程序。

目前我只能看到构建日志中的Jest控制台输出。虽然有一些隐藏的工件,但我看不到正常的工件。我当时认为报告包应该产生一个html工件。如何显示测试选项卡或其他一些有用的结果?

1 个答案:

答案 0 :(得分:0)

事实证明Jest可以收集所有Webdriver结果。尝试使用https://www.npmjs.com/package/jest-teamcity

在jest.config.js中使用:

"testResultsProcessor": "jest-teamcity"