Upgrade to Pro — share decks privately, control downloads, hide ads and more …

What's culture and tools in Ruby worlds

SHIBATA Hiroshi
October 10, 2011
620

What's culture and tools in Ruby worlds

SHIBATA Hiroshi

October 10, 2011
Tweet

Transcript

  1. rr

  2. stub stub(User).find { 'value' } any_incetance_of(User) do |u| stub(u).name {

    ‘alice’ } end User.find -> ‘value’ @u = User.new @u.name -> ‘alice’
  3. Test Fixture # wineries.yml sunnyside: name: Sunnyside Vineyards city: Sonoma

    state: CA country: USA # wines.yml merlot: name: Sunnyside Reserve year: 2003 family: Merlot winery: sunnyside rake db:fixtures:load
  4. factory_girl FactoryGirl.define do factory :user do first_name 'John' last_name 'Doe'

    admin false end end user = Factory.build(:user) user = Factory.create(:user)
  5. Machinist Post.blueprint do author title { "Post #{sn}" } body

    { "Lorem ipsum..." } end post = Post.make post = Post.make!(:body => ‘bob’)
  6. DSL feature '೔هΛಡΉ' do background do setup_tdiary end scenario '࠷৽ͷ೔هͷදࣔ'

    do visit '/' within('title') do page.should have_content('ʲ೔هʳ') } end within('h1') do page.should have_content('ʲ೔هʳ') end page.should have_css('a[href="update.rb"]') ! end end
  7. RSpec.configure do |config| config.include Capybara, :type => :acceptance Capybara.register_driver :selenium

    do |app| Capybara::Driver::Selenium.new (app, :browser => :chrome) end config.before(:all, :selenium => true) do Capybara.current_driver = :selenium end end
  8. % rake parallel:spec /Users/hsbt/.gem/ruby/1.8/gems/ parallel_tests-0.4.9/lib/parallel_tests.rb: 6: warning: already initialized constant

    VERSION 2 processes for 63 specs, ~ 31 specs per process No DRb server is running. Running in local process instead ... No DRb server is running. Running in local process instead ... ............................................ ............................................ .....................
  9. require 'rubygems' require 'spork' Spork.prefork do ENV["RAILS_ENV"] ||= 'test' require

    File.expand_path(File.join (File.dirname (__FILE__),'..','config','environment')) require 'email_spec' require 'database_cleaner' end
  10. DRY