Partial mocks allow you to mock some of the methods of a class while keeping the rest intact. Thus, you keep your original object, not a mock object, and you are still able to write your test methods in isolation. Partial mocking can be performed on both static and instance calls.
This feature is available only in the commercial version of Telerik JustMock.
Refer to this topic to learn more about the differences between both the commercial and free versions of Telerik JustMock.
In the further examples we will use the following sample class to test:
Partially Mock Instance Calls
In the following example we use a non mocked instance, but we call a method which is arranged.
With partial mocks we are still able to arrange a method call even when we don't use a mock object. Running the above test would pass.
Assert Partial Calls
While not using a mock object in partial mocking you can still assert that a specific call has been made during the executing of a test. In order to do that we need to pass the lambda of the method that we are expecting.
In the Assert section we make sure that the foo.Echo method has been called exactly two times by passing 10 as an argument. It is not required to enter a specific argument - you can use a matcher instead.
Arrange Static Calls
Another common usage of partial mocks is to arrange a call to a static method/property of a class.
Here we arrange that the static Foo.FooStaticProp property should return 10.