** cucumber¤È¤Ï [#na1e0d5c]
- cucumber¤Ï¡¢¼«Á³¸À¸ì¤Ç¥Æ¥¹¥È¤òµ½Ò¤Ç¤¤ë(?)¥Æ¥¹¥Æ¥£¥ó¥°¥Õ¥ì¡¼¥à¥ï¡¼¥¯¡¢¤ÈÍý²ò¤·¤Æ¤Þ¤¹¡£(¤Þ¤À»î¤·¤Æ¤Ê¤¤¤Î¤Ç)
- ¼«Á³¸À¸ì¤Ç½ñ¤«¤ì¤¿¥Õ¥ì¡¼¥º¤ò¡¢Àµµ¬É½¸½¤Ç°ú¤Ã³Ý¤±¤Æ¡¢¤½¤ì¤Ø¤Î¶ñÂÎŪ¤Ê½èÍý¤òÁö¤é¤»¤ë¤³¤È¤Ç¡¢¶ñÂÎŪ¤Ê½èÍý¤òÁö¤é¤»¤ë¤è¤¦¤Ç¤¹¡£
¤³¤ÎÊÕ¤ò»²¹Í¤Ëcucumber¤Ë¤è¤ëÆüËܸì¤Î¼õ¤±Æþ¤ì¥Æ¥¹¥Èµ½Ò¤È¥Æ¥¹¥È¼«Æ°²½¤òÂ賤·¤Æ¤ß¤ë¤Ã¤¹ :)
- Ruby on Rails - cucumber - GitHub
http://wiki.github.com/aslakhellesoy/cucumber/ruby-on-rails
- Cucumber¤¬¥¢¥Ä¤¤ - moro¤ÎÆüµ
http://d.hatena.ne.jp/moro/20081112/1226486135
- Webrat¤¬¥¹¥´¤¤(³:Cucumber¤¬¥¢¥Ä¤¤) - moro¤ÎÆüµ
http://d.hatena.ne.jp/moro/20081118/1226977015
** ´Ä¶ÍÑ°Õ [#u645365d]
- ¼¡¤Î¤è¤¦¤Ë´Ä¶ÍÑ°Õ
$ sudo gem install cucumber webrat
$ rails cucumber_sample
$ cd cucumber_sample
$ ./script/generate cucumber
- ¤³¤ì¤Ç¡¢cucumber¤Î¥Õ¥¡¥¤¥ë·´¤¬¤Ç¤¤ë
create features/step_definitions
create features/step_definitions/webrat_steps.rb
create features/support
create features/support/env.rb
create features/support/paths.rb
exists lib/tasks
create lib/tasks/cucumber.rake
create script/cucumber
** ÁÛÄꤹ¤ë¥¢¥×¥ê [#gae12850]
- º£²ó¤Ï entry(title¤Èbody¤ò¤â¤Ä) ¤ËÂФ¹¤ëCRUD¤ò¤¹¤ë¥¢¥×¥ê¤ò¹Í¤¨¤ë
- ¤Ê¤Î¤Ç¡¢scaffold¤Çºî¤ì¤ÐOK
** feature¤Èstep¤ÎÍÑ°Õ [#k9628c56]
- cucumber¤Ë¤Ïfeature¤Èstep¤È¤¤¤¦2¤Ä¤Î¥Õ¥¡¥¤¥ë¤òµ½Ò¤¹¤ë¡£
- feature¤¬¡¢¼õ¤±Æþ¤ì¥Æ¥¹¥È¤Î¥·¥Ê¥ê¥ª¤ò½ñ¤¤¯
- step¤Ï¡¢¼õ¤±Æþ¤ì¥Æ¥¹¥ÈÃæ¤Î¡¢¡Ö¤ä¤ë¤³¤È¡×¤ËÂФ¹¤ë¡¢¼ÂºÝ¤Î¼ÂÁõ¤ò½ñ¤¯¡¢¤È¤¤¤¦´¶¤¸¡£
- º£²ó¤Ï entry(title¤Èbody¤ò¤â¤Ä) ¤È¤¤¤¦¥ê¥½¡¼¥¹¤ò¹Í¤¨¤Æ¡¢¤³¤ì¤ËÂФ¹¤ë¥Æ¥¹¥È¤ò½ñ¤¯¤³¤È¤Ë¤¹¤ë
- entry¤ËÂФ¹¤ëfeature¤Èstep¥Õ¥¡¥¤¥ë¤òºî¤ë
./script/generate feature entry title:string body:text
- ¤³¤ì¤Ç¡¢¼¡¤Î2¤Ä¤Î¥Õ¥¡¥¤¥ë¤¬¤Ç¤¤ë
exists features/step_definitions
create features/manage_entries.feature
create features/step_definitions/entry_steps.rb
** ¼Â¹Ô¤·¤Æ¤ß¤ë [#u5e125d0]
- ¼¡¤Î¤è¤¦¤Ë¼Â¹Ô
rake features
- ·ë²Ì¡£
$ rake features
(in /home/staff/shida/public_html/rails/cucumber_sample)
Feature: Manage entries
In order to [goal]
[stakeholder]
wants [behaviour]
Scenario: Register new entry # features/manage_entries.feature:6
The DL driver for sqlite3-ruby is deprecated and will be removed
in a future release. Please update your installation to use the
Native driver.
Given I am on the new entry page # features/step_definitions/webrat_steps.rb:6
undefined method `new_entry_path' for #<ActionController::Integration::Session:0xb71588c8> (NoMethodError)
/home/staff/shida/public_html/rails/cucumber_sample/features/support/paths.rb:20:in `/^I am on (.+)$/'
features/manage_entries.feature:7:in `Given I am on the new entry page'
When I fill in "Title" with "title 1" # features/step_definitions/webrat_steps.rb:22
And I fill in "Body" with "body 1" # features/step_definitions/webrat_steps.rb:22
And I press "Create" # features/step_definitions/webrat_steps.rb:14
Then I should see "title 1" # features/step_definitions/webrat_steps.rb:93
And I should see "body 1" # features/step_definitions/webrat_steps.rb:93
Scenario: Delete entry # features/manage_entries.feature:14
Given the following entries: # features/step_definitions/entry_steps.rb:1
| title | body |
| title 1 | body 1 |
| title 2 | body 2 |
| title 3 | body 3 |
| title 4 | body 4 |
uninitialized constant Entry (NameError)
features/manage_entries.feature:15:in `Given the following entries:'
When I delete the 3rd entry # features/step_definitions/entry_steps.rb:5
Then I should see the following entries: # features/step_definitions/entry_steps.rb:12
| title | body |
| title 1 | body 1 |
| title 2 | body 2 |
| title 4 | body 4 |
2 scenarios
2 failed steps
7 skipped steps
rake aborted!
- scaffold¤òÍÑ°Õ¤·¤Æ¤â¤¦°ì²ó¤ä¤Ã¤Æ¤ß¤ë
./script/generate rspec_scaffold entry title:string body:text
rake db:migrate
rake features
- ·ë²Ì¤¬¤³¤ó¤Ê´¶¤¸
Feature: Manage entries
In order to [goal]
[stakeholder]
wants [behaviour]
Scenario: Register new entry # features/manage_entries.feature:6
Given I am on the new entry page # features/step_definitions/webrat_steps.rb:6
When I fill in "Title" with "title 1" # features/step_definitions/webrat_steps.rb:22
And I fill in "Body" with "body 1" # features/step_definitions/webrat_steps.rb:22
And I press "Create" # features/step_definitions/webrat_steps.rb:14
Then I should see "title 1" # features/step_definitions/webrat_steps.rb:93
And I should see "body 1" # features/step_definitions/webrat_steps.rb:93
Scenario: Delete entry # features/manage_entries.feature:14
Given the following entries: # features/step_definitions/entry_steps.rb:1
| title | body |
| title 1 | body 1 |
| title 2 | body 2 |
| title 3 | body 3 |
| title 4 | body 4 |
When I delete the 3rd entry # features/step_definitions/entry_steps.rb:5
Then I should see the following entries: # features/step_definitions/entry_steps.rb:12
| title | body |
| title 1 | body 1 |
| title 2 | body 2 |
| title 4 | body 4 |
2 scenarios
9 passed steps