我想在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工件。如何显示测试选项卡或其他一些有用的结果?
答案 0 :(得分:0)
事实证明Jest可以收集所有Webdriver结果。尝试使用https://www.npmjs.com/package/jest-teamcity。
在jest.config.js中使用:
"testResultsProcessor": "jest-teamcity"