Posted at

bundlerを使ってRSpecを書きつつGemを開発する

More than 5 years have passed since last update.

bundlerを使ってRSpecを書きつつGemを作るための準備について。


ひな形を作成

まずはひな形を作成。

bundle gem my_gem

これで良い感じのディレクトリ構造とGemfile, gemspecが作成されて、なんだかいい具合のREADME.mdまで作成されます。

このままGithubにpushしたらREADME.mdが見えるようになるわけでなんだか流石な感じ。TODO: Write a gem descriptionの部分を編集してアップしましょう。


開発用にRSpecをgemspecに設定

Gem::Specification.newブロックの中でrspecを使うよう設定。

spec.add_development_dependency "rspec"

Gemfileにはgemspecと書いてあるのでGemfileを編集しないでOK。

で、gemをインストール。

bundle install


specを書く

mkdir specなどでspecのディレクトリを作ってそこにspec_helperとmy_gem_specを書く。


spec/spec_helper.rb

require 'rubygems'

# カスタムマッチャを書きたかったらここに。
RSpec::Matchers.define :my_matcher do |expected|
match do |actual|
true
end
end



spec/my_gem_spec.rb

require 'spec_helper'

require 'my_gem'

describe MyGem do
it { should be_true }
end


rspecの実行は

bundle exec rake spec

これでmy_gem_spec.rbにspecを書きながらGemの開発ができます。