A mocking library based on the Compiler APIs (Roslyn + Mocks)
C#
394
1,624 commits
updated Oct 9, 2026

A mocking library based on the Compiler APIs (Roslyn + Mocks).
Reference the Rocks NuGet package - that's it.
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.
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.
If you run into any issues, please add them here.
427 followers · starred Jun 2017
1,000 followers · starred May 2025
906 followers · starred Aug 2015
1,024 followers · starred May 2019
A mocking library based on the Compiler APIs (Roslyn + Mocks)
C#
394
1,624 commits
updated Oct 9, 2026

A mocking library based on the Compiler APIs (Roslyn + Mocks).
Reference the Rocks NuGet package - that's it.
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.
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.
If you run into any issues, please add them here.
427 followers · starred Jun 2017
1,000 followers · starred May 2025
906 followers · starred Aug 2015
1,024 followers · starred May 2019