Rails Test 1 Model
Nov 30, 16
dev
rails
test
Model에서 테스트 해야 할 것.
- 유효한 attritutes를 넘겼을 때 model의 create method가 유효해야한다.
- 유효하지 않은 데이터는 유효성 검사를 통과하지 않아야 한다.
- 클래스 매소드(+scope)와 인스턴스 매소드가 예상한것과 같이 동작한다.
item.rb
class Item < ActiveRecord::Base
...
validate :name, presence: true
1) 유효한 attritutes를 넘겼을 때 model의 create method가 유효해야한다.
context 'with valid attritues' do
it '#create' do
expect {
Item.create(name: "A")
}.to change(Item, :count).by(1)
2) 유효하지 않은 데이터는 유효성 검사를 통과하지 않아야 한다.
item = Item.new()
item.valid?
expect(item.errors[:name]).to include("can't be blank")
3) 클래스 매소드, scope, 인스턴스 매소드가 예상한것과 같이 동작한다.
it '#instance_method' do
end
it '::class_method' do
end