足跡機能を実装できるacts_as_footprintableというgemを作ったのですが、テストを自動化したかったのでTravis CIを導入してみました。
Travis CIはgithubにpushしたらテストを自動的に行ってくれるサービスです。サイン インはgithubアカウントでできます。テストの導入は、言語別に方法が書かれています。私の場合はRuby。
Travis CIにログインして、アカウント情報より、どのリポジトリの自動テストを有効にするかを確認します。
サービス側はこれだけ。
そしてソース側。
まずは.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を使うユーザーに安心感を与える事ができると思うので、書いておくといいでしょう。画像はこういうやつです。
コードは、Markdownの場合はこう。
[![Build Status](https://travis-ci.org/[github_username]/[repository].png?branch=master)](https://travis-ci.org/[github_username]/[repository])
色んな環境のテストを行うのは正直面倒ですが、Travis-CIを使えば一通りの環境でのテストができるから、環境依存のテストが楽になります。ライブラリを作る場合はどんどん使っていきたいと思いました。