В общем, я рекомендую заглушки и насмешки как можно меньше.Я рекомендую использовать что-то вроде Factory Girl для создания реальных объектов базы данных для взаимодействия с тестами.Это означает, что Account
и Project
будут реальными классами ActiveRecord, а затем @account
будет реальным объектом AR с ассоциацией projects
, которая работает так же, как и в производстве.Это важно, поскольку в противном случае вы просто тестируете ту реализацию, которую написали, и фактически не проверяли, что ваш код функционирует, когда он фактически использует ActiveRecord.
Как только вы сможете это сделать, я бы порекомендовалпросто проверяя вещи, которые вас интересуют, для модели проекта, например:
assigns[:project].should be_instance_of(Project)
assigns[:project].should be_new_record
assigns[:project].account.should == logged_in_user
Надеюсь, это поможет!