У меня есть определенный макет, который обрабатывается третьей стороной. Я просто хочу проверить, что тот же макет был возвращен обратно.Как вы заглушите все методы конкретного экземпляра mock
Однако сторонняя сторона вызывает методы массива и сохраняет методы, которые мой тест действительно не заботит. Есть ли способ рассказать мне об этом, что он ожидает/заглушит все методы, связанные с этим конкретным экземпляром?
например.
user = mock(User)
user.stub_all
Спасибо!
EDIT
Более подробную информацию о проблеме:
Тест:
it "creating an invitation should return invitation" do
invitation = mock_model(Invitation)
invitation.stub(:[]=)
invitation.stub(:save)
Invitation.stub(:create).and_return(invitation)
@user.create_invitation
@user.create_invitation.should == invitation
end
Код тестируется:
def create_invitation
invitation = Invitation.create
self.invitations.push(invitation)
return invitation
end
мне нужно издеваться следующие, которые не являются напрямую связано с тем, что я тестирую:
invitation.stub(:[]=)
invitation.stub(:save)
Я не знаю много о Ruby On Rails, или даже о Ruby. Таким образом, это один из самых сумасшедших вопросов, которые я когда-либо видел на этом сайте: D – Jasper
Что вы подразумеваете под «третьей стороной»? Вы пытаетесь создать пользовательский объект и передать его в библиотеку, сделать ли он все, что захочет, а затем убедиться, что он возвращает вам тот же макет? –
Да, вы правы, мое объяснение не имело большого смысла. Я обновил свой вопрос. – Karan