gemのテストにTravis CIを導入してみた。

足跡機能を実装できるacts_as_footprintableというgemを作ったのですが、テストを自動化したかったのでTravis CIを導入してみました。

Travis CIはgithubにpushしたらテストを自動的に行ってくれるサービスです。サイン インはgithubアカウントでできます。テストの導入は、言語別に方法が書かれています。私の場合はRuby。

Travis CIにログインして、アカウント情報より、どのリポジトリの自動テストを有効にするかを確認します。
スクリーンショット 2013-10-08 1.21.47

サービス側はこれだけ。

そしてソース側。
まずは.travis.ymlを定義します。
言語を指定し、rvmでRubyのバージョンを指定しました。色んなバージョンのRubyを指定することができますが、とりあえず2つにしました。また、Railsのサポートバージョンは3.2以上を想定していたので4.0.0と3.2.0を指定。

language: ruby
rvm:
  - 2.0.0
  - 1.9.3
env:
  - "RAILS_VERSION=4.0.0"
  - "RAILS_VERSION=3.2.0"

Travis CIが実行してくれるrakeのデフォルトコマンドを、Rakefileで指定します。

# coding: utf-8
require "bundler/gem_tasks"

require 'rspec/core/rake_task'

desc "Run specs"
RSpec::Core::RakeTask.new(:spec)

desc 'Default: run specs.'
task :default => :spec

あとはpushするだけ。放っておいたら自動でテストが実行されます。

Travis-CIのテスト結果を画像で表示するコードをREADME.markdownファイルに書いておくと、gemを使うユーザーに安心感を与える事ができると思うので、書いておくといいでしょう。画像はこういうやつです。

スクリーンショット 2013-10-08 1.25.42

コードは、Markdownの場合はこう。

[![Build Status](https://travis-ci.org/[github_username]/[repository].png?branch=master)](https://travis-ci.org/[github_username]/[repository])

色んな環境のテストを行うのは正直面倒ですが、Travis-CIを使えば一通りの環境でのテストができるから、環境依存のテストが楽になります。ライブラリを作る場合はどんどん使っていきたいと思いました。


カテゴリー Ruby, Ruby on Rails, テスト | タグ | パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です