# Stub/mock normal methods

**URL:** <https://www.ruby-forum.com/t/stub-mock-normal-methods/126493>\
**Category:** Rails\
**Created:** [January 18, 2008, 6:52pm UTC](https://www.ruby-forum.com/t/stub-mock-normal-methods/126493 "2008-01-18T18:52:41Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![karnirevuri](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/838e76/32.png) [@karnirevuri](https://www.ruby-forum.com/u/karnirevuri)\
**Post date:** [January 18, 2008, 6:52pm UTC](https://www.ruby-forum.com/t/stub-mock-normal-methods/126493/1 "2008-01-18T18:52:41Z")

</div>

Hi friends

I want to stub or/mock the normal mt=ethod in controller

Can u give any idea?

Example

When i was testing the below code using mocks and stubs  
i m getting error is “Mock ‘errors’ received unexpected message :each  
with (no args)”

Could u give any idea on how to stub/mock normal methods n like  
chart\_files\_errors in below code

Please give me ideas

In my controller method

def create

@employee = Employee.new  
if (Employee.update\_attributes(params[:emp]))  
xxxxxx  
else  
#XXX\_method in the controoler  
flash[:error] = chart\_files\_errors(@exployee.errors)  
end

end

def chart\_files\_errors(@errors)  
errors.each do |key, error|  
count = count + 1  
key = property\_name\_convert(key)  
if previous\_error == “”  
previous\_error = error[0]  
end  
if (previous\_error == error[0]) # checking the previous error and  
current error  
if (count == errors.size)  
#Adding the previous error message and current error message (  
Key and Error)  
error\_message = (error\_message + " #{key.capitalize}  
#{error[0]}")  
else  
#Adding the previous error message and current error message (  
Key only)  
error\_message = (error\_message + " #{key.capitalize}" + “,”)  
end # end of ((count == errors.size)  
else  
error\_message = error\_message + " #{previous\_error} ,  
#{key.capitalize} #{error[0]}"  
end # end of (pre\_value == error[0])  
end # errors loop  
error\_message

end
