如何将覆盖结果从TravisCI发送到Coveralls?

时间:2018-05-14 09:50:35

标签: node.js reactjs travis-ci jestjs coveralls

现在正在构建由package.json制作的反应应用。

在我的{ "name": "app", "version": "0.1.0", "private": true, "scripts": { "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test --env=jsdom", "eject": "react-scripts eject" }, "dependencies": { "jest-cli": "^22.4.3", "raven-js": "^3.25.1", "react": "^16.3.2", "react-raven": "^1.2.3", "react-scripts": "1.1.4", "babel-plugin-add-module-exports": "0.2.1" }, "devDependencies": { "babel-cli": "^6.26.0", "babel-jest": "^22.4.3", "babel-polyfill": "^6.26.0", "babel-preset-env": "^1.7.0", "babel-preset-es2015": "^6.24.1", "babel-preset-react": "^6.24.1", "babel-preset-react-app": "^3.1.1", "coveralls": "^3.0.1", "enzyme": "^3.3.0", "enzyme-adapter-react-16": "^1.1.1", "jest": "^22.4.3", "react-addons-test-utils": "^15.6.2", "react-dom": "^16.3.2", "react-test-renderer": "^16.3.2" } } 中,我安装了一些依赖项。完整列表如下:

的package.json

.travis.yml

还创建了一个language: node_js node_js: - "8" before_script: - npm install - npm install coveralls script: - jest --coverage --coverageReporters=text-lcov | coveralls 文件。想要在TravisCI上测试代码:

.travis.yml

...
$ jest --coverage --coverageReporters=text-lcov | coveralls
PASS src/sum.test.js
  ✓ adds 1 + 2 to equal 3 (7ms)
Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        2.629s
Ran all test suites.
/home/travis/build/[MY_GITHUB]/[MY_PROJECT]/node_modules/coveralls/bin/coveralls.js:18
        throw err;
        ^
Bad response: 500 {"message":"Build processing error.","error":true,"url":""}
The command "jest --coverage --coverageReporters=text-lcov | coveralls" exited with 1.
Done. Your build exited with 1.

但是当TravisCI运行任务时,它的控制台日志会显示:

try (Connection connection = getConnection();
     PreparedStatement st = connection.prepareStatement(query)) {

    // ...
    try (ResultSet rs = st.executeQuery()) {

        // ...
    }
}

为什么不能将覆盖率结果发送给工作服?

1 个答案:

答案 0 :(得分:1)

我整理了一个简单的存储库,以在此处演示如何将jesttraviscoveralls一起使用:

https://github.com/AaronWatters/hello_jest

它使用jest.config.js告诉玩笑将覆盖率报告放在 "./tests/coverage",然后是coveralls中的package.json指令 是

"coveralls": "jest --coverage && cat ./tests/coverage/lcov.info | coveralls",

很抱歉,它是如此令人费解,但它似乎可以工作,即使不是 就像您要尝试的那样简单。它还不使用react,但是 我认为对react组件使用相同的方法应该不是问题。

请参阅存储库以获取所有详细信息。

如果您发现该方法有问题或有其他建议或意见,也请在存储库中发布问题。