# Mock Kernel method

**URL:** <https://www.ruby-forum.com/t/mock-kernel-method/123060>\
**Category:** Rails\
**Created:** [December 13, 2007, 6:44pm UTC](https://www.ruby-forum.com/t/mock-kernel-method/123060 "2007-12-13T18:44:25Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![rinda](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/ce73a5/32.png) [@rinda](https://www.ruby-forum.com/u/rinda)\
**Post date:** [December 13, 2007, 6:44pm UTC](https://www.ruby-forum.com/t/mock-kernel-method/123060/1 "2007-12-13T18:44:25Z")

</div>

I use rspec on rails. I want to test model.

My model has this method:

class My  
def self.blabla(url)  
open(url) {|f|  
#processing  
}  
end  
end

open is Kernel method. How do I mock it? Kernel.expects and  
Kernel.should\_receive and Kernel.stub! do no good.

To make it more clear, I am looking for something like this:  
it “should processing [rails.com](http://rails.com)” do  
Kernel.expects(:open).with(‘[rails.com](http://rails.com)’).returns(‘blue’)  
My.blabla(‘[rails.com](http://rails.com)’).should == ‘result of self.blabla’  
end

---

<div class="post-metadata">

**Author:** ![rinda](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/ce73a5/32.png) [@rinda](https://www.ruby-forum.com/u/rinda)\
**Post date:** [December 13, 2007, 6:49pm UTC](https://www.ruby-forum.com/t/mock-kernel-method/123060/2 "2007-12-13T18:49:42Z")

</div>

On 13/12/2007, rinda [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> end
> 
> open is Kernel method. How do I mock it? Kernel.expects and  
> Kernel.should\_receive and Kernel.stub! do no good.
> 
> To make it more clear, I am looking for something like this:  
> it “should processing [rails.com](http://rails.com)” do  
> Kernel.expects(:open).with(‘[rails.com](http://rails.com)’).returns(‘blue’)  
> My.blabla(‘[rails.com](http://rails.com)’).should == ‘result of self.blabla’  
> end

I don’t know if it’s the same, but with Mocha you can do…

My.expects(:open).with(‘[rails.com](http://rails.com)’).returns(‘blue’)

I hope that helps.

–  
James.

> **[James Mead](https://jamesmead.org/)**
>
> Ruby Developer, author of Mocha, and ex-Antarctic Hero.

> **[Floehopper](https://tumble.floehopper.org/)**
>
> thoughts on the bergy bits of life

---

<div class="post-metadata">

**Author:** ![rinda](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/ce73a5/32.png) [@rinda](https://www.ruby-forum.com/u/rinda)\
**Post date:** [December 13, 2007, 7:11pm UTC](https://www.ruby-forum.com/t/mock-kernel-method/123060/3 "2007-12-13T19:11:26Z")

</div>

On 14 Des, 00:48, “James M.” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> I don’t know if it’s the same, but with Mocha you can do…
> 
> My.expects(:open).with(‘[rails.com](http://rails.com)’).returns(‘blue’)
> 
> I hope that helps.
> 
> –  
> James.[http://blog.floehopper.orghttp](http://blog.floehopper.orghttp)://tumble.floehopper.org

Yes, I have tried that in simple unit testing file. It works, but I  
can not figure out integrate that with rspec on rails even using mocha.

---

<div class="post-metadata">

**Author:** ![rinda](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/ce73a5/32.png) [@rinda](https://www.ruby-forum.com/u/rinda)\
**Post date:** [December 14, 2007, 5:55am UTC](https://www.ruby-forum.com/t/mock-kernel-method/123060/4 "2007-12-14T05:55:57Z")

</div>

On 14 Des, 03:30, “James M.” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> On 13/12/2007, rinda [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> > Yes, I have tried that in simple unit testing file. It works, but I  
> > can not figure out integrate that with rspec on rails even using mocha.
> 
> Strange. Have you tried the rspec mailing list [1]?

Not yet. Maybe I should.

---

<div class="post-metadata">

**Author:** ![rinda](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/ce73a5/32.png) [@rinda](https://www.ruby-forum.com/u/rinda)\
**Post date:** [December 13, 2007, 9:31pm UTC](https://www.ruby-forum.com/t/mock-kernel-method/123060/5 "2007-12-13T21:31:23Z")

</div>

On 13/12/2007, rinda [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Yes, I have tried that in simple unit testing file. It works, but I  
> can not figure out integrate that with rspec on rails even using mocha.

Strange. Have you tried the rspec mailing list [1]?

–  
James.

> **[James Mead](https://jamesmead.org/)**
>
> Ruby Developer, author of Mocha, and ex-Antarctic Hero.

> **[Floehopper](https://tumble.floehopper.org/)**
>
> thoughts on the bergy bits of life

[1] [http://rubyforge.org/mail/?group\_id=797](http://rubyforge.org/mail/?group_id=797)
