TravisCI入門しました!
はじめに
Travis CIを利用し始めたので、 備忘録も兼ねてブログに書き込んでおきます。
利点
Travis CIを使うことによる利点は、
となります。
実行の流れ
具体的にTravis CIの設定〜実行の流れを書き下すと、以下の通りとなります。
- TravisCI登録し、指定したGithubのレポジトリ連携
- 連携したフォルダにTravisCI用に設定ファイルを作成
- githubにプッシュすると、設定した環境に応じてTravisCIがテスト実行
- テスト結果に応じて処理
1. についてはTravis CIはGUIが非常に素晴らしく、簡単なので割愛します!
TravisCI用設定ファイル作成
連携したレポジトリのルートディレクトリに以下のようなYAMLファイルを作成します。
language: python python: - "3.5" install: - pip install <パッケージ名> script: - python py_test.py after_success: - <slack通知>
python:
はテストするプログラミング言語install:
はインストールするパッケージを指定します 注)script
は実際のテストを行なう作業を記述します。今回は指定したファイルを実行します。after_success
とはテスト成功した後の処理を指します。今回はslack通知を記述しておきました。
注)今回はpython標準ツールを使っているので、本来はinstallの必要はありません。
testスクリプト
今回はunittestを用いて以下のように書いてみました!
import unittest class PyTest(unittest.TestCase): def test_equal(self): one = 1 self.assertEqual(one,1, "one is 1") def test_not_equal(self): two = 2 self.assertNotEqual(two,3,"2 not equal 3") def test_almost_equal(self): three = 3.1 self.assertAlmostEqual(three,3,0,"3.1 almost equal 3") def test_assert_regex(self): sentence = "test作業はつまらない。じゃなくて、楽しいぞ〜" self.assertRegex(sentence,'test.+楽.{1,}〜$',"test作業:マッチ") if __name__ == "__main__": unittest.main()
プッシュ後
連携したレポジトリをGithubにプッシュすると自動で指定したテスト (今回はpy_test.py)が実行されます。
テスト結果は以下のようにGUIで表示され、非常にわかりやすいです!
テスト成功後
テストが成功したので自動でスラックに投稿されています。(.travis.ymlで記述) チーム開発している時にはテスト結果をいちいち通知を手動で書く必要がなく便利です。