How Hierarchy works with TypeMock
Mocking methods in the hierarchy of the code is supporting in TypeMock.NET.
There is nothing like examples so here is our hierarchy.
We are mocking type Second
-
A mocked method, will not be mock when called from a derived class.
Example: Mocking DoSomething() will not be mocked if it is called from Third.
Mock mock = MockManager.Mock(typeof (Second)); mock.ExpectCall("DoSomething"); Third third = new Third(); // this won't be mocked third.DoSomething(); -
A mocked method defined in a base type will be mocked only when called from the mocked type.
Example: Mocking InFirst() will only be mocked when called from Second.Mock mock = MockManager.Mock(typeof (Second)); mock.ExpectCall("InFirst"); Second second = new Second(); // Will be mocked even if it is defined in First second.InFirst(); -
An overloaded method will be mocked in the base class too when called from the mocked type.
Example: Mocking Overridden() will be mocked also when Second calls base.Overridden()
// if we call the base public void DoSomething() { base.Overridden(); } Mock mock = MockManager.Mock(typeof (Second)); mock.ExpectCall("Overridden"); Second second = new Second(); // base.Overridden will be mocked second.DoSomething(); -
To specifically mock only a base method use the new: mock.CallBase
Example: Mocking Overriden() will be mocked ONLY when Second calls base.Overridden()
// if this is the method public override void Overridden() { base.Overridden(); } Mock mock = MockManager.Mock(typeof (Second)); mock.CallBase.ExpectCall("Overridden"); Second second = new Second(); // here the Second.Overridden will be called and First.Overridden Mocked second.Overridden();
2 Comments to “How Hierarchy works with TypeMock”
Recent Posts
- Unacceptable: Unit testing will take 20 years to catch on
- The 4 reasons why we DIDN’T choose Oslo
- Typemock Academy Launch
- The First Rule to Software Craftsmanship
- Goal-driven Development
Categories
- .NET Tests
- Agile
- Code Integrity
- Community
- Debugging
- Fun
- Management for Geeks
- Marketing
- Product
- Release
- Reviews
- SharePoint
- TDD
- Time Management
- Uncategorized
- Unit Tests
Archives
- May 2010
- April 2010
- March 2010
- February 2010
- December 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- December 2008
- November 2008
- August 2008
- July 2008
- May 2008
- April 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006

[...] It is possible to mock ‘hidden’ methods.Mock overridden base methods with CallBaseMock overloaded Static methods with CallStatic [...]
I esteem the important knowledge you recommend in your post. I will bookmark your blog and have my kid check up here regularly. I am rather sure they will take course a huge of new stuff here than anybody else!