Telerik JustMock is an easy to use mocking tool from Telerik designed to help you create better
unit tests, faster than ever. Telerik JustMock makes it easier for you to create mock objects and
set expectations independently of external dependencies like databases, web service calls, or proprietary code.
The Telerik JustMock API is completely AAA (Arrange/Act/Assert) oriented thus helping you keep your unit tests well structured, clean and readable.
No matter whether you try to mock an interface, a sealed class or a static class, the pattern you use is the same.
JustMock Lite is also available from
You can use the nuget package manager console from within Visual Studio to install JustMock Lite. The command for installing JustMock Lite can be found on this page:
What Is Mocking And Why Do I Need It?
Mocking is a concept in unit testing where real objects are substituted with fake objects
that imitate the behavior of the real ones. Mocking is done so that a test can focus on the code
being tested and not on the behavior or state of external dependencies. For example, if you have a
data repository class that runs business logic and then saves information to a database, you want
your unit test to focus on the business logic and not on the database. Mocking the “save” calls to
your database ensures your tests run quickly and do not depend on the availability or state of your
When you’re ready to make sure the “save” calls are working, then you’re moving on to integration
testing. Unit tests should not cross system boundaries, but integration tests are allowed to cross
boundaries and make sure everything works together (your code, your database, your web services, etc.).
What Can Be Mocked?
Mock objects can be created and maintained manually, but this is time consuming and ultimately
unproductive approach. A tool like Telerik JustMock allows you to focus on writing tests and forget about
the mocking details. Mock objects are created automatically in memory when the tests run based on
your simple configuration in the unit test. There are no “physical” mock objects that have to be
maintained as your project changes.
Telerik JustMock allows you to mock everything from interfaces, virtual and abstract methods and properties to sealed classes,
non-virtual methods and properties, static classes, methods and properties,
even those from mscorlib like
All these can be mocked without a single change of your production code.
Final and Static Mocking
Unlike other mocking frameworks, Telerik JustMock lets you mock:
sealed classes - call methods of sealed classes even with internal constructors
static classes, methods, properties - create mocks of static classes,
set expectations for static method and property calls, verify static method calls
final methods or properties - assert final methods, overloads, out and ref arguments
Features At A Glance
- Test objects and behaviors independently - fake any dependencies like databases, web service calls, proprietary code
- Mock everything
- virtual and abstract methods and properties
- LINQ queries
- sealed classes
- static classes, methods, and properties
- non-virtual methods and properties
- non-public members and types
- mscorlib members
- Clean Arrange/Act/Assert syntax - keep your unit tests clean and readable
- Strongly typed fluent interface - no magic strings, compile time checks, refactoring support
- Loose mocks, Partial mocking, Recursive/nested mocking, Sequential mocking
- Hybrid mode - use profiler only when necessary (i.e. mocking final, sealed and static)
Fast and lightweight
- custom dynamic proxy library meets mocking needs only.
- Support for Visual Studio 2012 - Telerik JustMock supports Visual Studio 2008 ,Visual Studio 2010 and Visual Studio 2012.
- Support of Telerik OpenAccess, Microsoft SharePoint and Microsoft Entity Framework mocking.
- Support for code coverage tools, profilers, unit testing add-ins, build tools
After the Telerik JustMock installation you can find a Getting Started Guide and example projects set in the Start Menu under Telerik | JustMock.
Have a look at the example projects which provide a hands-on approach of all the features described here.
Arrange/Act/Assert vs Record/Replay
The Arrange/Act/Assert pattern is a more logical and clean approach to unit testing than
the legacy Record/Replay. With AAA, you group your testing actions by function, making it clear
what part of your test is involved in setup versus verification. The pattern can be applied to
all unit testing, but it is especially useful when mocking is involved.
Record/Replay is an older pattern and it is similar to using GOTO statements in your unit tests.
This makes the pattern more difficult to follow and clearly less ideal from a programming
perspective. Therefore, Telerik JustMock is focused on supporting the AAA pattern.
Read more about AAA in the Arrange Act Assert topic.