Merbのプラグインを作る場合、merb-gen plugin plugin-nam
でひな形が生成されますが、現状では生成されるspecがほとんど空っぽなので、
ちゃんとしたspecを書くための足場の作り方を紹介します。
まずは、spec/spec_
1 $:.push File.join(File.dirname(__FILE__), '..', 'lib') 2 3 require 'rubygems' 4 require 'merb-core' 5 require 'dm-core' 6 require "spec" 7 require 'dm-has-versions/has/ versions' 8 require 'dm-aggrega tes' 9 10 DataMapper ::Model.append_ext ensions DataMapper ::Has::Versions 11 Merb.disable(:initfile) 12 Merb.start_envi ronment( 13 :testing => true, 14 :adapter => 'runner', 15 :environmen t => ENV['MERB_ENV'] || 'test', 16 :merb_root => File.dirname(__FILE__) / 'fixture', 17 :log_file => File.dirname(__FILE__) / "merb_test. log" 18 ) 19 DataMapper .setup(:default, "sqlite3::m emory:") 20 21 Spec::Runner.configure do |config| 22 config.include(Merb::Test::ViewHelper ) 23 config.include(Merb::Test::RouteHelpe r) 24 config.include(Merb::Test::Controller Helper) 25 26 DataMapper .auto_migra te! 27 end
この例では、DataMapper
テストで利用されるクラス群は、spec/fixtu
1 % tree spec/fixture [~/project/ dm-has-ver sions:mast er] 2 spec/fixtu re 3 `-- app 4 `-- models 5 |-- comment.rb 6 `-- story.rb
posted by
genki
on Fri 16 Jan 2009
at 13:35