Rocks 9.0.1
dotnet add package Rocks --version 9.0.1
NuGet\Install-Package Rocks -Version 9.0.1
<PackageReference Include="Rocks" Version="9.0.1" />
paket add Rocks --version 9.0.1
#r "nuget: Rocks, 9.0.1"
// Install Rocks as a Cake Addin #addin nuget:?package=Rocks&version=9.0.1 // Install Rocks as a Cake Tool #tool nuget:?package=Rocks&version=9.0.1
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 9.0.0
) will generate code that requires .NET 9.
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.Methods.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
Feedback
If you run into any issues, please add them here.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Rocks:
Package | Downloads |
---|---|
Stashbox.Rocks
Rocks auto mocking integration for Stashbox. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
9.0.1 | 132 | 12/15/2024 |
9.0.0 | 227 | 12/4/2024 |
9.0.0-alpha.1 | 40 | 10/22/2024 |
8.3.1 | 1,714 | 10/2/2024 |
8.3.1-alpha.1 | 60 | 9/29/2024 |
8.3.0 | 1,291 | 7/24/2024 |
8.2.0 | 294 | 7/17/2024 |
8.1.0 | 835 | 4/16/2024 |
8.0.0 | 596 | 1/22/2024 |
8.0.0-alpha.3 | 71 | 1/21/2024 |
8.0.0-alpha.2 | 74 | 1/14/2024 |
8.0.0-alpha.1 | 88 | 1/13/2024 |
7.3.0 | 659 | 11/26/2023 |
7.2.0 | 327 | 11/10/2023 |
7.1.4 | 356 | 10/7/2023 |
7.1.3 | 580 | 7/31/2023 |
7.1.2 | 181 | 7/26/2023 |
7.1.1 | 234 | 7/17/2023 |
7.1.0 | 346 | 7/3/2023 |
7.0.1 | 571 | 3/30/2023 |
7.0.0 | 885 | 11/20/2022 |
7.0.0-alpha.3 | 110 | 11/9/2022 |
7.0.0-alpha.2 | 114 | 10/10/2022 |
7.0.0-alpha.1 | 117 | 9/10/2022 |
6.4.5 | 1,032 | 6/29/2022 |
6.4.4 | 520 | 6/28/2022 |
6.4.3 | 598 | 5/23/2022 |
6.4.2 | 466 | 5/22/2022 |
6.4.1 | 820 | 4/15/2022 |
6.4.0 | 549 | 3/22/2022 |
6.3.0 | 6,448 | 11/24/2021 |
6.2.0 | 543 | 10/20/2021 |
6.0.0 | 589 | 4/12/2021 |
5.1.2 | 8,266 | 1/21/2021 |
5.1.1 | 491 | 1/21/2021 |
5.1.0 | 487 | 12/21/2020 |
5.0.0 | 499 | 12/10/2020 |
5.0.0-rc3 | 303 | 12/8/2020 |
5.0.0-rc2 | 316 | 12/2/2020 |
5.0.0-rc1 | 416 | 11/14/2020 |
4.2.1 | 697 | 7/25/2020 |
4.2.0 | 552 | 7/2/2020 |
4.1.1 | 617 | 4/27/2020 |
4.1.0 | 642 | 2/26/2020 |
4.0.0 | 1,066 | 9/23/2019 |
4.0.0-rc.2 | 315 | 8/10/2019 |
4.0.0-rc.1 | 303 | 7/18/2019 |
3.1.0 | 5,247 | 11/4/2017 |
3.0.0 | 2,628 | 8/18/2017 |
2.2.0 | 2,610 | 7/6/2017 |
2.1.7 | 2,599 | 7/4/2017 |
2.1.6 | 2,642 | 7/4/2017 |
2.1.5 | 2,603 | 7/4/2017 |
2.1.4 | 2,585 | 7/2/2017 |
2.1.3 | 2,597 | 7/2/2017 |
2.1.2 | 2,539 | 7/1/2017 |
2.1.1 | 2,615 | 7/1/2017 |
2.1.0 | 3,255 | 5/19/2017 |
2.0.0 | 3,548 | 5/1/2017 |
2.0.0-beta | 2,292 | 4/30/2017 |
1.1.1 | 2,612 | 5/4/2016 |
1.0.0 | 2,590 | 1/29/2016 |
1.0.0-beta1 | 2,707 | 8/8/2015 |
A changelog is available at https://github.com/JasonBock/Rocks/blob/main/changelog.md