2
votes

what is wrong with my code? it says my 'it' is not defined while i was trying to do a test

shaunstanislaus@Master ~/workspace/sinatra_practice/crud (master) $ rspec app_test.rb /Users/shaunstanislaus/workspace/sinatra_practice/crud/app_test.rb:1:in <top (required)>': undefined methodit' for main:Object (NoMethodError) from /Users/shaunstanislaus/.rvm/gems/ruby-2.1.2/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1105:in load' from /Users/shaunstanislaus/.rvm/gems/ruby-2.1.2/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1105:inblock in load_spec_files' from /Users/shaunstanislaus/.rvm/gems/ruby-2.1.2/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1105:in each' from /Users/shaunstanislaus/.rvm/gems/ruby-2.1.2/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1105:inload_spec_files' from /Users/shaunstanislaus/.rvm/gems/ruby-2.1.2/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:96:in setup' from /Users/shaunstanislaus/.rvm/gems/ruby-2.1.2/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:84:inrun' from /Users/shaunstanislaus/.rvm/gems/ruby-2.1.2/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:69:in run' from /Users/shaunstanislaus/.rvm/gems/ruby-2.1.2/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:37:ininvoke' from /Users/shaunstanislaus/.rvm/gems/ruby-2.1.2/gems/rspec-core-3.1.7/exe/rspec:4:in <top (required)>' from /Users/shaunstanislaus/.rvm/gems/ruby-2.1.2/bin/rspec:23:inload' from /Users/shaunstanislaus/.rvm/gems/ruby-2.1.2/bin/rspec:23:in <main>' from /Users/shaunstanislaus/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:ineval' from /Users/shaunstanislaus/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `'

it "creates a new bookmark" do
  get "/bookmarks"
  bookmarks = JSON.parse
(last_response.body)
  last_size = bookmarks.size

  post "/bookmarks",
    {:url => "http://www.test.com", :title => "Test"}

  last_response.status.should == 201
  last_response.body.should match(/\/bookmarks\/\d+/)


  get "/bookmarks"
  bookmarks = JSON.parse
(last_response.body)
  expect(bookmarks.size).to eq(last_size + 1)

end
1

1 Answers

6
votes

Your test should be inside a describe block

require 'spec_helper'

describe MyController do 

  it "creates a new bookmark" do
    ..
  end

  ..
end