I think it would be easier to mock if you extracted an interface from the third party class directly, rather than another class. This way, you don't have to worry about the constructor.
On Wed, Jun 17, 2009 at 10:29 PM, [email protected] <[email protected] > wrote: > > Yep, I'm not mocking the SUT (although I do admit that I got confused > about this at first too). > > Basically, I am wrapping a 3rd party class in my own class so that I > can mock it (since that 3rd party class doesn't implement an interface > which defines the methods I am interested in, neither are the methods > I'm interested in defined as virtual). I'm trying to do it by > implementing the wrapper class as a class with virtual methods (rather > then a normal class without overridable methods but which implements > an interface which defines those methods) - it didn't make sense to me > to have the interface simply for the sake of having it... > > On Jun 18, 11:22 am, Chris Missal <[email protected]> wrote: > > Since it's a mock, the dependencies shouldn't matter since you'll be > > artificially handling the functionality of the mocked object. > > > > Be sure that the object you're mocking isn't the class under test, > usually > > you'll mock the dependencies or the classes that the class under test (or > > system under test (SUT)) interacts with, are mocked. > > > > Make sense? This was a bit confusing for me at first. > > > > On Wed, Jun 17, 2009 at 10:14 PM, [email protected] < > [email protected] > > > > > > > > > > > > > wrote: > > > > > Sure does. > > > > > In fact, it doesn't stop me from doing > > > > > SomeClass c = MockRepository.CreateMock<SomeClass>(null, null); > > > > > either (the dependencies of SomeClass shouldn't matter in this case > > > since it is just a mock). > > > > > So this problem is not stopping me from using RhinoMocks to mock the > > > class, it's just that this behaviour appears to contradict the wiki > > > and as this is my first time mocking a class (I have always mocked > > > interfaces before), I was worried that I was doing something wrong... > > > > > On Jun 18, 11:11 am, Chris Missal <[email protected]> wrote: > > > > Does it work when you try: > > > > > > SomeClass c = MockRepository.CreateMock<SomeClass>(a, b); > > > > > > On Wed, Jun 17, 2009 at 9:39 PM, [email protected] > > > > <[email protected]>wrote: > > > > > > > Hi, > > > > > > > I'm trying to mock a class that doesn't have a default constructor > > > > > (i.e. it has been 'overidden' by a custom constructor which is > > > > > parameterized) which - according to the wiki ( > http://ayende.com/wiki/ > > > > > Rhino%20Mocks%20Mocking%20classes.ashx) - should be possible. There > > > > > isn't anything particularly special about what I'm trying to do, > > > > > simply something like the following: > > > > > > > public class SomeClass > > > > > { > > > > > public SomeClass(A a, B b) > > > > > { ... } > > > > > > > virtual public string SomeMethod() > > > > > { ... } > > > > > } > > > > > > > [Test] > > > > > public void SomeTest() > > > > > { > > > > > SomeClass c = MockRepository.CreateMock<SomeClass>(); > > > > > ... > > > > > } > > > > > > > NUnit reports the following error: > > > > > > > System.MissingMethodException : Can't find a constructor with > matching > > > > > arguments > > > > > ----> System.MissingMethodException : Constructor on type > > > > > 'SomeClass207ade2ffbbc4e7cba459d96ac172bb9' not found. > > > > > > > cheers! > > > > > > -- > > > > Chris Missalhttp://chrismissal.lostechies.com/ > > > > -- > > Chris Missalhttp://chrismissal.lostechies.com/ > > > -- Chris Missal http://chrismissal.lostechies.com/ --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Rhino.Mocks" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/RhinoMocks?hl=en -~----------~----~----~----~------~----~------~--~---
