2013-12-12 9 views
1

У меня есть проблемы с испытательной моделью рассчитывать через функцию/сценарий Rspec инструментRSpec интеграционное тестирование

require 'spec_helper' 

feature 'Registration' do 
    scenario 'Guest can sign up as individual' do 
    with_role(:guest) 
    sign_up(:client) 
    Individual.count.should == 1 
    # should be replaced by expect{ sign_up(:client) }.to change{ Individual.count }.by(1) 
    end 
end 

Как я могу заменить model.count должен к ожидать в блоке, ожидая в сценарии? Я не хочу использовать следует из-за количество записей меняется каждый раз, когда я использую его

С уважением, Alex

+0

Что вы просите? Что случилось с этим «ожиданием»? – phoet

+0

Зачем нужно «сменить счет»? – usha

+0

phoet, это не работает – asiniy

ответ

1

Правильный способ использования изменения Искателя из RSpec выглядит следующим образом:

expect{ sign_up(:client) }.to change(Individual, :count).by(1) 
+0

Hm. Я использую это сейчас, но кажется мало сложным использовать ожидание в сценарии, не так ли? – asiniy

+1

Ну, я действительно так не думаю. Это гораздо более выразительно, чтобы документировать и раскрывать намерение спецификации. Это почти как свободный английский. Мне нравится эта форма. –

Смежные вопросы