To answer this question, let's spend a little bit of time to look at how OCMock and similar frameworks work:
Mocking frameworks use the Objective-C runtime to proxy or wrap the original class, so that any invocation of a method on that class is redirected to the mocking framework, which has a pre-recorded set of instructions about what to do when a given method is invoked.
Therefore, the answer is, yes, when you mock a class, you are also implicitly mocking the methods on the super class. You can record an expectation that this method will be invoked and verify that this happened. You can also verify the arguments that were supplied.
It is not necessary to know the details in order to effectively use a mocking framework, however if you're interested in exploring some approaches to proxying a class, take a look at the following:
- NSProxy
- Mike Ash's guide on swizzling
- isa swizzling
- bbum's IMP_implentationWithBlock article.
- Message Forwarding
Incidentally, my personal favorite mocking framework is OCMockito