Travis CIでPipenv + Pytestの自動テストを行った


概要

前回「Pipenv+Pytestを使って気象情報API用のPythonライブラリを作成した」が、せっかくなので自動テストを行いたいと思い、Travis CIを使ってみた。(Github Actionsはリクエストは出したが、まだ来ていない・・・)

今回Travis CIと連携したリポジトリは下記である。
https://github.com/doara-developer/weatherlib

Travis CI とは

GitHubと連携した自動テスト実行サービス。オープンソースソフトウェア向けには無償でサービスを提供している。Travis CIの料金プラン一覧

アカウント登録&Github連携方法

下記の通り行えばすぐに可能。特に困ることはない。
https://knowledge.sakura.ad.jp/3754/

注意:travis-ci.comから登録すること

travis-ci.orgtravis-ci.comの2つが現状存在し、昔はアクセスできるリポジトリがプライベートorパブリックと違ったらしい。今はtravis-ci.comで両方アクセスできるので、使い分ける必要はない。間違えないように注意。
Travis CIは公開リポジトリもプライベートリポジトリもtravis-ci.comになるみたい

後は設定ファイル(.travis.yml)をパッケージに置くだけ

今回のリポジトリでは設定ファイルに下記を記述した。Pipfileにテスト環境も明記してあるので、これだけで問題なし。

language: python
python:
  - "3.7"

# command to install dependencies
install:
  - "pip install pipenv --upgrade-strategy=only-if-needed"
  - "pipenv install --dev"

# command to run the dependencies
script:
  - "pipenv run tests"

Travis CIのページに行くと下記のようにテスト結果が確認できる。

わざわざTravis CIのページまで毎回確認しに行くのがめんどくさい。。。

そんな方は下記リンク通りにやれば、Readme.mdにビルドステータスを表示することが可能。便利便利。
Travis CIで自動テストして、結果をGitHubのトップページに表示する

まとめ

最近はCIについて知らなきゃいけないだろうと重い腰を上げて勉強してみたが、とてもサクサク出来て助かった。Github Actionsが利用できるようになったらそちらも使ってみたい。

2019/11/09 Github Actionsが利用できるようになったので試してみた。