在大型软件系统中经常出现的情况是,对于每次代码更改,我们都希望单元测试和集成测试能够自动化执行。此外,在协作项目中,手动测试的方式是不切实际的。幸运的是,持续集成是一种旨在自动化软件开发的实践。Travis CI是一种公共的持续集成服务,允许你基于事件钩子在云端自动化运行项目测试。出现新的提交推送是事件钩子的示例之一。
Travis一般用于自动化构建和测试,并报告失败的构建操作,也可以用于创建软件版本,甚至在临时或生产环境部署软件。本节将会重点介绍Travis的某些特性,从而为我们的项目执行自动化测试。GitHub已经与Trabis集成,可以在我们的项目发送新的提交时运行测试。要实现这一目标,我们需要具备以下条件。
- 在
GitHub上拥有一个项目。 - 拥有
Travis中的一个账户,用于登陆GitHub。 - 你的项目支持在
Trabis中构建。 - 拥有一个位于你的版本库根目录下的
.travis.yml文件,用于告知Travis执行哪些内容。
第一步是访问travis-ci网站,并使用自己的GitHub凭据登陆,登陆后,可以在Travis中添加我们的GitHub版本库。Travis对Rust项目提供了很好的原生支持,并能够确保及时更新Rust编译器版本。它为Rust项目提供了基本的.travis.yml文件,如下所示:
:::info language: rust
rust:
- stable- beta- nightly
matrix:
allow_failures:- rust: nightlyfast_finish: true
cache: cargo
script:
- cargo build --verbose- cargo test --verbose
:::
将其推送到GitHub上之后,我们需要在项目的相关配置页面上启用Travis,如下所示:

上图来自我的 Travis CI 账户。现在,我们将通过添加一个简单的 README.md 文件来触 发 Travis 构建运行器,从而提交我们的 logic_gates 版本库。此外,我们还需要在 README.md 文件中添加一个构建标记,该文件将向用户显示版本库的状态。为此,我们将单击右侧的构建通过标记:

我们将复制此链接,并将其添加到 README.md 文件的顶部,如下所示:
:::info []
(https://travis-ci.org/creativcoder/logic_gates)
[]
(https://travis-ci.org/creativcoder/logic_gates)
:::
你需要将$USERNAME 和$REPO_NAME 替换成自己的信息。
更改并提交 `README.md` 文件之后,我们将会看到 `Travis` 构建启动并成功执行:

