rspec-rails の追加ジェネレーターを使用すると、Rails アプリケーションをテストするために RSpec を設定するのは非常に簡単です。しかし、開発中の gem をテストするために RSpec を追加するのはどうでしょうか? 私は jeweler などのツールは使用していません。Bundler ( bundle gem my_gem
) を使用して新しい gem の構造を設定し、*.gemspec を手動で編集しました。また、s.add_development_dependency "rspec", ">= 2.0.0"
gemspec に追加して を実行しましたbundle install
。
RSpec を動作させるために次に何をすべきかを説明した良いチュートリアルはありますか?
ベストアンサー1
現在のベストプラクティスに合わせてこの回答を更新しました。
Bundlerはgem開発を完璧にサポートしています。gemを作成する場合は、のみGemfile に必要なのは次の通りです:
source "https://rubygems.org"
gemspec
これは、実行時に依存関係について gemspec ファイル内を検索するように Bundler に指示しますbundle install
。
次に、RSpec が gem の開発依存関係であることを確認します。gemspec を次のように編集します。
spec.add_development_dependency "rspec"
次に、spec/spec_helper.rb
次のようなものを作成して追加します。
require 'bundler/setup'
Bundler.setup
require 'your_gem_name' # and any other gems you need
RSpec.configure do |config|
# some (optional) config here
end
最初の 2 行は、Bundler に gemspec 内の gem のみをロードするように指示します。自分のマシンに自分の gem をインストールすると、spec は、別途インストールしたバージョンではなく、現在のコードを使用するように強制されます。
仕様を作成します。例spec/foobar_spec.rb
:
require 'spec_helper'
describe Foobar do
pending "write it"
end
オプション:.rspec
デフォルト オプションのファイルを追加し、gem のルート パスに配置します。
--color
--format documentation
最後に、仕様を実行します。
$ rspec spec/foobar_spec.rb