素でRSpecを使うためのspec_helper.rb

こないだのRakefileと併せて使っていたもの。

  • 必要なファイルを読み込む
  • DBとの接続を行う(必要な場合)

といったフレームワークがやってくれていることを自前でやるというだけなんですけども。

# -*- coding: utf-8 -*-

$TESTING=true

$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
$:.unshift File.expand_path(File.join(File.dirname(__FILE__)))

require 'rubygems'
require 'factory_girl'
require 'active_record'
require 'active_support/all'

ActiveRecord::Base.establish_connection(
  :adapter => "sqlite3",
  :database => "db/test.sqlite3",
)

Dir[File.join(File.dirname(__FILE__), "..", "lib", "models", "**/*.rb")].each do |f|
  require f
end

require File.join(File.dirname(__FILE__), "factories")
Dir[File.join(File.dirname(__FILE__), "factories", "**/*.rb")].each do |f|
  require f
end

RSpec.configure do |config|
end

Rspec.configureではモックのフレームワークに何を使うかなど必要なら指定する。
ほかにもいろいろできるはずなので一度調べておこうかな。

素でRSpecを使うためのspec_helper.rb” に対して3件のコメントがあります。

  1. 匿名 より:

    rakeファイルとあわせて使うのでしたら、下記のように t.pattern に specファイルのパターンを入れておけば、各specファイルに対応するような lib/modelファイルも見つけてくれるような気がします。

    RSpec::Core::RakeTask.new(:spec) do |t|
    t.pattern = “./spec/**/*_spec.rb”
    end

  2. akahige より:

    おーありがとうございます!
    今度試してみます。

  3. akahige より:

    うーん、ソースをちょっとのぞいてみたところ、テスト対象のファイルを自動で見つけてくれる機能はなさそうです。
    よく考えたら必ずしも1クラス1スペックというわけでもないですしね。

コメントは受け付けていません。