LoginSignup
21
21

More than 5 years have passed since last update.

rake specを用意してtravis-ciを利用する

Last updated at Posted at 2012-12-26

練習がてら次世代FizzBuzzこと「世界のナベアツ」を実装しようと思って、ついでにtravis-ciを利用してみた。

リポジトリは https://github.com/a2ikm/nabeatsu にある。
Ruby力がまだまだ低い…。

rake specを用意する

travis-ciを利用するにはrakeのデフォルトがRSpecの実行になっている必要がある(なので正確にはrake specが必要というわけじゃない)。

で、どうやればいいのかというと、RSpecに用意されているrakeタスクをrequireすればOK。

Gemfile
source "https://rubygems.org"

gem 'rake',  :require => false
gem 'rspec', :require => false
Rakefile
task :default => [:spec]
begin
  require 'rspec/core/rake_task'
  RSpec::Core::RakeTask.new(:spec) do |spec|
    spec.pattern = 'spec/**/*_spec.rb'
    spec.rspec_opts = ['-cfs']
  end
rescue LoadError => e
end

こうするとrakeでもrake specでもRSpecが実行される。

ちなみにファイル構成は次のようにしている。
spec_helper.rbはRakefileには顔を出さないけど、毎回評価される。

+- README.md
+- Gemfile
+- Rakefile
+- lib/
|   +- nabeatsu.rb
+- spec/
    +- spec_helper.rb
    +- lib/
        +- nabeatsu_spec.rb

travis-ciを有効にする

travis-ciについては http://mochizblog.heroku.com/21 が詳しいのでそちらを参照。

ざっくりと書くと次のような感じ。

  1. githubにpush
  2. travis-ciにサインアップして、テストしたいリポジトリを選
  3. 実行を待つ(pushされるたびに実行される)

リアルタイムで処理が走ってるのが見てて面白い。

あとはREADME.mdにテスト結果を表示できるので、 http://about.travis-ci.org/docs/user/status-images/ を参考に、以下をREADME.mdに記載した。

[![Build Status](https://secure.travis-ci.org/a2ikm/nabeatsu.png)](http://travis-ci.org/a2ikm/nabeatsu)

これはMarkdown用の記法なので、ほかの記法については上記ページを参照。

21
21
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
21