Add rspec-rails to both the :development and :test groups in the Gemfile:
group :development, :test do gem 'rspec-rails', '~> 3.0.0.beta' end
Download and install by running:
$ bundle install
Initialize the spec/ directory (where specs will reside) with:
$ rails generate rspec:install
This adds spec/spec_helper.rb and .rspec files that are used for configuration. See those files for more information.
To run your specs, use the rspec command:
$ bundle exec rspec # Run only model specs $ bundle exec rspec spec/models # Run only specs for AccountsController $ bundle exec rspec spec/controllers/accounts_controller_spec.rb
Specs can also be run via rake spec, though this command may be slower to start than the rspec command.
Part 2: RSpec
Create a new file at /spec/user_spec.rb and copy these into the file.
require 'spec_helper'
describe User do
# create
before :each do
@user = User.create(:username => "kirby510", :email => "kirby.kl05@yahoo.com", :password => "kirby510", :name => "Lee Kian Theng", :nickname => "Student Kirby")
@user.add_role :admin
end
# correct condition
it "#name" do
@user.name.should == "Lee Kian Theng"
end
# false condition
it "name is should not null" do
@user.name.should == nil
# @user.name.should_not == nil
end
# check role
it "#role" do
# puts @user.roles.first.name
@user.roles.first.name.should == "admin"
end
# update
it "can update" do
@user.update_attributes(:username => "kirby510", :email => "kirby.kl05@yahoo.com", :password => "kirby510", :name => "Lee Kian Leong", :nickname => "Student Kirby 2012")
@user.nickname.should == "Student Kirby 2012"
end
# destroy
it "can delete" do
@user.destroy
end
end
$ rspec spec/user_spec.rb
rspec/rspec-rails · GitHub
Return to Internship Note (LoanStreet)
Previous Episode: Create User Profile Rails App
Next Episode: Capybara with RSpec & Rails 3
0 comments:
Post a Comment