- ¥Ð¥Ã¥¯¥¢¥Ã¥×°ìÍ÷
- º¹Ê¬ ¤òɽ¼¨
- ¸½ºß¤È¤Îº¹Ê¬ ¤òɽ¼¨
- ¥½¡¼¥¹ ¤òɽ¼¨
- Ruby on Rails/Âè15²óÊÙ¶¯²ñ - ǧ¾Ú¥×¥é¥°¥¤¥óActs as Authenticated¤Ë¤Ä¤¤¤Æ ¤Ø¹Ô¤¯¡£
- 1 (2007-11-09 (¶â) 18:03:13)
Ruby on Rails/Âè15²óÊÙ¶¯²ñ - ǧ¾Ú¥×¥é¥°¥¤¥óActs as Authenticated¤Ë¤Ä¤¤¤Æ
¤É¤¦¤â¡¢SE¤Î¾®¾Â¤Ç¤¹¡£
¤³¤Î¥Ú¡¼¥¸¤Ï¡© †
²¼µ¤Î¥Í¥¿¤ò¸µ¤ËRspec¤Ë¤Ä¤¤¤ÆÊÙ¶¯¤·¤Æ¤ß¤ë¥Ú¡¼¥¸¤Ç¤¹¡£
- Rubyist Magazine - ¥¹¤Ï¥¹¥Ú¥Ã¥¯¤Î¥¹ ¡ÚÂè 1 ²ó¡Û RSpec ¤Î³µÍפȡ¢RSpec on Rails (¥â¥Ç¥ëÊÔ)
http://jp.rubyist.net/magazine/?0021-Rspec- ¤³¤Ã¤Á¤Ë¥á¥â¤ò½ñ¤¤¤Æ¤¤¤Þ¤¹¡£
http://extension.fleck.com/?sh=a5a346241c7a04ba905758354da50436306bdc91
- ¤³¤Ã¤Á¤Ë¥á¥â¤ò½ñ¤¤¤Æ¤¤¤Þ¤¹¡£
- File: TUTORIAL.ja
http://kakutani.com/trans/rspec/TUTORIAL_ja.html
º£²ó¤ÏÂ裳²ó¤È¤¤¤¦¤³¤È¤ÇÁ°²ó¤Þ¤Ç¤Î³¤¤Ç¤¹¡£
Á°²ó¤ÇRspec¤Î»È¤¤Êý¤Þ¤Ç¤ò¤´ÀâÌÀ¤·¤Þ¤·¤¿¡£
º£²ó¤ÏRspec¤òRuby on Rails¾å¤Ç»È¤¦ÊýË¡¤ò¤´¾Ò²ð¤·¤Þ¤¹¡£
- Âè°ì²ó¤Ï¤³¤Á¤é
Ruby on Rails/Âè12²óÊÙ¶¯²ñ - Rspec³µÍ×
- ÂèÆó²ó¤Ï¤³¤Á¤é
Ruby on Rails/Âè13²óÊÙ¶¯²ñ - Rspec¤ò»È¤Ã¤Æ¤ß¤ë
Æ°²è †
http://www.screencast.com/t/b4eymGMn
Ìܼ¡ †
Æü»þ †
- 2007/10/26(¶â)
»²²Ã¼Ô †
Æ°²è †
ËÜÊÔ †
¥¤¥ó¥¹¥È¡¼¥ë †
- Ruby on Rails¤ÇRspec¤òÍøÍѤ¹¤ë¾ì¹ç¡¢°Ê²¼¤ÎÆó¤Ä¤Î¥¤¥ó¥¹¥È¡¼¥ë¤¬É¬ÍפǤ¹¡£
- Rspec¼«ÂÎ
- Rspec on Rails
$ ./script/plugin install svn://rubyforge.org/var/svn/rspec/tags/REL_1_0_8/rspec ...ά... $ ./script/plugin install svn://rubyforge.org/var/svn/rspec/tags/REL_1_0_8/rspec_on_rails ...ά...
ɬÍפʥե¡¥¤¥ë¤ÎÀ¸À® †
- rails´Ä¶ºîÀ®
$rails rspec_test
- Rspec´ØÏ¢¥Õ¥¡¥¤¥ë¤ÎºîÀ®¡£
$ ruby script/generate rspec
- ºîÀ®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¡¢¥Ç¥£¥ì¥¯¥È¥ê¤ÎÀâÌÀ
spec/ ¥¹¥Ú¥Ã¥¯¥Õ¥¡¥¤¥ë¤òÇÛÃÖ¤¹¤ë¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£Rails ɸ½à¤Î¥Æ¥¹¥Æ¥£¥ó¥°´Ä¶¤Î test/ ¥Ç¥£¥ì¥¯¥È¥ê¤ËÁêÅö¤·¤Þ¤¹¡£ spec/spec_helper.rb RSpec ¤ò Rails ¤Ç»ÈÍѤ¹¤ë¤¿¤á¤Î¥Ø¥ë¥Ñ¤Ç¤¹¡£¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¶¦Ä̤¹¤ë RSpec ´ØÏ¢¤Î½èÍý¤òµ½Ò¤·¤Þ¤¹¡£Rails ɸ½à¤Î¥Æ¥¹¥Æ¥£¥ó¥°´Ä¶¤Î test/test_helper.rb ¤ËÁêÅö¤·¤Þ¤¹¡£ sepc/spec.opts Rake ·Ðͳ¤Ç RSpec ¤ò¼Â¹Ô¤¹¤ëºÝ¤Ë¡¢spec ¥³¥Þ¥ó¥É¤ØÅϤ¹¥ª¥×¥·¥ç¥ó¤òÀßÄꤷ¤Þ¤¹¡£ script/spec_server Rails ´Ä¶¤ò¥í¡¼¥É¤·¤¿¥Æ¥¹¥ÈÍѤΠdRuby ¥µ¡¼¥Ð¤òµ¯Æ°¤·¤Þ¤¹¡£¥Æ¥¹¥È¤Î¼Â¹Ô¤ò®¤¯¤¹¤ë¤³¤È¤¬ÌÜŪ¤Ç¤¹¡£¼¡²ó°Ê¹ß¤ÎÏ¢ºÜ¤Ç¸ÀµÚ¤·¤Þ¤¹¡£ script/spec ³«È¯ÂоݤΠRails ¥¢¥×¥ê¥±¡¼¥·¥ç¥óÍѤΠspec ¥³¥Þ¥ó¥É¤Ç¤¹¡£¥¹¥Ú¥Ã¥¯¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Æ¼Â¹Ô¤¹¤ë¾ì¹ç¤Ë»ÈÍѤ·¤Þ¤¹¡£
- »²¹Í:RSpec on Rails ¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë rake ¥¿¥¹¥¯
http://jp.rubyist.net/magazine/?0021-Rspec#l54
- RSpec on Rails ¤Î¥Æ¥¹¥ÈÍѥǥ£¥ì¥¯¥È¥ê¹½À®
http://jp.rubyist.net/magazine/?0021-Rspec#l55
¥µ¥ó¥×¥ë¤òÆ°¤«¤·¤Æ¤ß¤ë †
º£²ó¤Î¥µ¥ó¥×¥ë¤Ë¤Ä¤¤¤Æ †
- model¤Î¥¹¥Ú¥Ã¥¯¤òµ½Ò¤·¤Þ¤¹
- Blog
½àÈ÷ †
- database.yml¤ÎÊÔ½¸
- ¥µ¥ó¥×¥ë¤Ç¤Ïsqllite¤ò»È¤Ã¤Æ¤ë¤ß¤¿¤¤¤Ç¤¹¤¬¡¢°ìÈÌŪ¤Êmysql¤ò»È¤Ã¤Æ¤ä¤Ã¤Æ¤ß¤Þ¤¹¡£
- ¤Ç¤¹¤Î¤Ç¡¢database.yml¤òÊÔ½¸¤·¤Þ¤¹¡£
- ¤«¤Ädatabase¤ò»öÁ°¤ËºîÀ®¤·¤Þ¤¹¡£
mysqladmin create rspec_test
¥â¥Ç¥ë¤Î³«È¯ †
¥â¥Ç¥ë¤Î¥Ó¥Ø¥¤¥Ó¥¢¶îÆ°³«È¯¤Ï°Ê²¼¤Î¤è¤¦¤Ê¥Õ¥í¡¼¤Ë¤Ê¤ë¡£
- ¥â¥Ç¥ëºîÀ®
$ ruby script/generate rspec_model xxx¥â¥Ç¥ë̾
- ¥Þ¥¤¥°¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤¹¤ë
- ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¹¹¿·¤¹¤ë
rake db:migrate
- ¥Õ¥£¥¯¥¹¥Á¥ã¤òÊÔ½¸¤¹¤ë
- ¥¹¥Ú¥Ã¥¯¤òÄêµÁ¤¹¤ë
- ¥â¥Ç¥ë¤ò¼ÂÁõ¤¹¤ë
½ÅÍפÊÅÀ †
change ¥Þ¥Ã¥Á¥ã
½èÍý¤Î¼Â¹ÔÁ°¤È¼Â¹Ô¸å¤Ç¤ÎÊѲ½¤òÄêµÁ¤¹¤ë¥Þ¥Ã¥Á¥ã
lambda { team.add_player(player) }.should change(roster, :count) //team¤Ëadd_player¤¹¤ë¤Èteam¤Îcout¤ÎÃͤ¬ÊѲ½¤¹¤ë¤È¤¤¤¦¤³¤È¤òÄêµÁ
°Ê²¼¤Î¤è¤¦¤Ê»È¤¤Êý¤¬²Äǽ
- ¥á¥½¥Ã¥É¥Á¥§¥¤¥ó¤Ê¤·
- ¤È¤Ë¤«¤¯ÊѲ½¤¹¤ë¤³¤È¤òÄêµÁ
lambda { team.add_player(player) }.should change(roster, :count)
- ¤È¤Ë¤«¤¯ÊѲ½¤¹¤ë¤³¤È¤òÄêµÁ
- by¤ÎÃͤÀ¤±ÊѲ½¤¹¤ë¤³¤È¤òÄêµÁ
lambda { team.add_player(player) }.should change(roster, :count).by(1)
- from¤«¤éto¤ËÊѲ½¤¹¤ë¤³¤È¤òÄêµÁ
string = "string" lambda { string.reverse }.should change { string }.from("string").to("gnirts") # change ¥Þ¥Ã¥Á¥ã¤Ë ¥Ö¥í¥Ã¥¯¤òÅϤ¹¾ì¹ç¤Ë¤Ï¡¢{} ¤Î·Á¼°¤ÇÅϤ·¤Æ¤¯¤À¤µ¤¤¡£ # ¡Ödo...end¡×·Á¼°¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó¡£
- ¼Â¹Ô¸å¤Ëto¤ËÊѲ½¤·¤Æ¤¤¤ë¤³¤È¤òÄêµÁ
lambda { somevalue = "hogehoge" }.should change {somevalue}.to("hogehoge")
ÌäÂê †
/home/staff/konuma/test/rails/rspec_test/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/rescue.rb:19: undefined method `alias_method_chain' for ActionController::Rescue:Module (NoMethodError)
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require' from /usr/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:147:in `require' from /home/staff/konuma/test/rails/rspec_test/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions.rb:6 from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require' from /usr/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:147:in `require' from /home/staff/konuma/test/rails/rspec_test/config/../vendor/plugins/rspec_on_rails/lib/spec/rails.rb:17 from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require' from /usr/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:147:in `require' from ./spec/models/../spec_helper.rb:5 from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require' from ./spec/models/blog_spec.rb:1 from /home/staff/konuma/test/rails/rspec_test/vendor/plugins/rspec/lib/spec/runner/behaviour_runner.rb:106:in `load_specs' from /home/staff/konuma/test/rails/rspec_test/vendor/plugins/rspec/lib/spec/runner/behaviour_runner.rb:105:in `load_specs' from /home/staff/konuma/test/rails/rspec_test/vendor/plugins/rspec/lib/spec/runner/behaviour_runner.rb:49:in `prepare!' from /home/staff/konuma/test/rails/rspec_test/vendor/plugins/rspec/lib/spec/runner/behaviour_runner.rb:19:in `run' from /home/staff/konuma/test/rails/rspec_test/vendor/plugins/rspec/lib/spec/runner/command_line.rb:17:in `run'
- ¤ó¡©alias_method_chain¤¬¸«¤¨¤Æ¤¤¤Ê¤¤¤è¤¦¤À¡©
- alias_method_chain¤Ïrails¤Î³ÈÄ¥¤·¤¿model¥¯¥é¥¹¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥á¥½¥Ã¥É¡£
- ¤½¤³¤Çspec/spec_helper.rb¤Ë°Ê²¼¤Î¹Ô¤òÄɲÃ
require File.expand_path("/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/core_ext/module.rb")
- ¤½¤·¤¿¤éÆ°¤¤¤¿¡£
- ¤½¤³¤Çspec/spec_helper.rb¤Ë°Ê²¼¤Î¹Ô¤òÄɲÃ
¤Þ¤È¤á †
- change¥Þ¥Ã¥Á¥ã¤Î¤ä¤êÊý¤È¤«¤ËÈþ³Ø¤È¤¤¤¦¤«°ÕÃϤò´¶¤¸¤ë¡£
tag: Ruby on Rails, ÊÙ¶¯²ñ,¥Æ¥¹¥È