JA
JasonBock/Rocks
A mocking library based on the Compiler APIs (Roslyn + Mocks)
Rocks
A mocking library based on the Compiler APIs (Roslyn + Mocks).
Getting Started
Reference the Rocks NuGet package - that's it.
Prerequisites
The Rocks package targets .NET Standard 2.0 for host flexibility. That said, Rocks (as of 10.0.0) will generate code that requires .NET 10.
Usage
To make a mock, you take an interface or an unsealed class that has virtual members:
public interface IAmSimple
{
void TargetAction();
}and you use Rocks to create a mock with expectations, along with verifying its usage:
[assembly: Rock(typeof(IAmSimple), BuildType.Create)]
var expectations = new IAmSimpleCreateExpectations();
expectations.Setups.TargetAction();
var mock = expectations.Instance();
mock.TargetAction();
expectations.Verify();More details can be found on the Overview page.
Additional Documentation
- Discord Server
- Changelog
- Unit testing best practices with .NET Core and .NET Standard
- BenchmarkMockNet
- Unit Testing CSLA Rules With Rocks
Feedback
If you run into any issues, please add them here.
On this page
Languages
C#100.0%
MIT License
Created February 9, 2015
Updated March 7, 2026
