[Ironruby-core] Mocking behavior between clr types

Ivan Porto Carrero ivan at flanders.co.nz
Sun Jan 24 13:38:34 EST 2010


you can use caricature to solve that problem

gem install caricature

for rspec you do

require 'caricature'

Spec::Runner.configure do |config|
  config.mock_with Caricature::RSpecAdapter
  config.include Caricature::RSpecMatchers
end


But it works slightly different as it won't verify unless you tell it to
verify.
it has no mock or stub knowledge but works from the assumption you want to
stub unless you add a verify call.

the bacon integration specs show off all the combinations.
---
Met vriendelijke groeten - Best regards - Salutations
Ivan Porto Carrero
Blog: http://flanders.co.nz
Twitter: http://twitter.com/casualjim
Author of IronRuby in Action (http://manning.com/carrero)



On Sun, Jan 24, 2010 at 7:19 PM, andrew Wilson <a.wilson82 at gmail.com> wrote:

> As I have been working more and more with testing C# via IronRuby & Rspec,
> I have found myself wanting to use more and more of the rspec framework for
> testing.  I have also found problems that I am not sure how to work through
> yet.
>
> For instance lets say I have two c# classes:
>
> public class Foo
> {
> private Bar _bar;
>
> public Foo(Bar someBar)
> {
> this._bar = someBar;
> }
>
> public int GetBarCount()
> {
> return this._bar.Count;
> }
>
> }
>
>
> public class Bar
> {
> private int _count = 0;
>
> public Count
> {
> get { return _count;}
> }
> }
>
>
> in my spec test I want to do something like this:
>
> b = Bar.new
> b.stub!(:Count).and_return(400)
>
> f = Foo.new(b)
> f.GetBarCount(),should == 100
>
> The problem is that because I am stubbing the Bar instance via the dlr, the
> CLR call on f never sees the stub and just returns 0.
>
> Is there any way to make this work?  I was wondering if I could maybe make
> my Foo instance a proxy or mock itself and see if that would let the method
> calls work... but I haven't had any luck :(
>
> -A
>
> --
> When I wrote this, only God and I understood what I was doing.  Now, God
> only knows - Karl Weierstrass
>
> _______________________________________________
> Ironruby-core mailing list
> Ironruby-core at rubyforge.org
> http://rubyforge.org/mailman/listinfo/ironruby-core
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20100124/6f255e9b/attachment-0001.html>


More information about the Ironruby-core mailing list