[sudo] gem install rspec
rails ./test -d mysql
nano ./test/config/database.yml
rake db: create
./script/generate rspec
./script/generate rspec_model Post
require File.dirname (__ FILE__) + '/../spec_helper'
describe Post do
before (: each) do
@post = Post.new
end
it "should be valid" do
@ post.should be_valid
end
end rake spec: models
You have 1 pending migrations: 20090302064129 CreatePosts Run "rake db: migrate" to update your database then try again.
class CreatePosts <ActiveRecord :: Migration
def self.up
create_table: posts do | t |
t.string: name,: limit => 50,: null => false
t.text: content
t.timestamps
end
end
def self.down
drop_table: posts
end
end rake db: migrate
rake spec: models
.
Finished in 0.040821 seconds
')
1 example, 0 failures
it "should require name" do @ post.name = nil @ post.should_not be_valid @ post.errors.on (: name) .should_not be_nil end
F
one)
'Post "should require name"' FAILED
expected valid? to return false, got true
./spec/models/post_spec.rb:10:
Finished in 0.045391 seconds
1 examples, 1 failure
rake aborted!
validates_presence_of: name
validates_length_of: name,: within => 3..50
one: id: 1 name: "this is ferst post" content: "tru la la, tra la la" two: id: 2 name: "this is second post" content: "tran tan tan, tra ta ta"
require File.dirname (__ FILE__) + '/../spec_helper'
describe Post do
fixtures: posts
before (: each) do
@post = Post.new
end
it "should require name" do
@ post.name = nil
@ post.should_not be_valid
@ post.errors.on (: name) .should_not be_nil
end
it "clears post" do
posts (: one) .destroy
lambda {posts (: one) .reload} .should raise_error (ActiveRecord :: RecordNotFound)
end
end Source: https://habr.com/ru/post/53264/
All Articles