travistest2

0.0.1 • Public • Published

基于Github的自动持续集成测试和报告分析

持续集成:简单来说,就是能够多次将代码快速部署到主要版本,用于敏捷开发和保证主干颗粒度不至于过大。

利用Github和Travis-CI+Coveralls,我们每次向Github提交的代码都将会被Travis CI自动测试,而测试结果可以通过模块发送给Coveralls,由其收集这些测试信息、记录历史并发布数据分析。

自动持续集成测试-Travis CI

Travis-CI 是一款可以进行在线自动测试的应用。通过授权其你的Github指定仓库,你每次推送新的代码,它都会根据配置文件自动拉取、构建以来、按照测试模块进行自动测试。

  • 需要注意的是,Travis CI只是一个自动测试应用而不是测试工具,你仍需要使用jest等工具编写、运行测试代码。

其依赖于【.travis.yml】进行配置,参考教程:Travis CI Tutorial,或者可以简单参考本仓库的该文件进行配置,以快速上手整个流程。

测试报告-Coveralls

Coveralls 是自动测试报告的历史追踪和分析应用。

其依赖于【.coveralls.yml】文件进行配置,对于公有仓库,你并不太需要关心此事。

  • 需要注意的是,repo_token是私密的,所以你应当把.coveralls.yml文件列入.gitignore,或是通过加密工具将其加密

测试实例

本仓库为:【node.js + jest + travis-ci + coveralls】的实例,其中,测试代码放置于/test中。

从零构建一个像这样基于Node.js的实验样例,你需要安装jest

npm init
npm install jest

由于用到了coveralls,所以需要安装一个额外的报告发送模块npm install coveralls --save-dev

搭建自动测试的流程

  1. 首先,在Travis-CICoveralls勾选本仓库。

  2. 然后,修改【package.json】中的

"scripts": {
    "test": "......."
  },

为:

"scripts": {
    "test": "jest --coverage --coverageReporters=text-lcov | coveralls"
  },
  1. 接着,在仓库目录下新建一个【.travis.yml】文件,键入以下内容:
language: node_js
node_js:
  - "10"

再构建一个【.coveralls.yml】文件,填入内容:(注意将该文件列入.gitignore

service_name: travis-pro
repo_token: $YourToken

由于repo_token是私密的,所以你应当把.coveralls.yml文件列入.gitignore,或是通过加密工具将其加密,当然你也可以直接省略。

  1. 编写你的测试单元,如/test中所示。

  2. 最后,向Github提交代码,你会在Travis-CI上看到构建结果,结果会被发送到Coveralls生成历史和报告。

持续集成测试结果

Travis-CI 测试结果:

Coveralls 报告结果:Coverage Status

BetterCodeHub

BetterCodeHub 测试结果:

Readme

Keywords

none

Package Sidebar

Install

npm i travistest2

Weekly Downloads

1

Version

0.0.1

License

MIT

Unpacked Size

5.21 kB

Total Files

6

Last publish

Collaborators

  • vincetest