AutoMoqSlim 1.0.2

.NET Standard 1.3 .NET Framework 4.5
NuGet\Install-Package AutoMoqSlim -Version 1.0.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
dotnet add package AutoMoqSlim --version 1.0.2
<PackageReference Include="AutoMoqSlim" Version="1.0.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add AutoMoqSlim --version 1.0.2
#r "nuget: AutoMoqSlim, 1.0.2"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install AutoMoqSlim as a Cake Addin
#addin nuget:?package=AutoMoqSlim&version=1.0.2

// Install AutoMoqSlim as a Cake Tool
#tool nuget:?package=AutoMoqSlim&version=1.0.2

AutoMoqSlim

AutoMoqSlim is a simple "auto-mocking" container inspired by AutoMoq with less dependencies and compatible with .NET Core

What is it for?

Suppose you have a class with multiple dependencies

public ClassForTesting(IMockMe mockMe, INoNeedToMock noNeedToMock, ILogger logger)

But for your test you need to mock only one of them. In any case, in order to create an instance of the target class you need to create stubs for all of its dependencies manually

var mock = new Mock<IMockMe>();
mock.Setup(/*setup*/)
// continue to setup your mock
var stub1 = new Mock<INoNeedToMock>();
var stub2 = new Mock<ILogger>();
var target = new ClassForTesting(mock.Object, stub1.Object, stub2.Object);

And the number of unused dependencies may be much higher This package makes it a little bit easier. In this case it would be something like

var autoMoqer = new AutoMoqSlim();
autoMoqer.GetMock<IMockMe>()
 .Setup(/*setup*/)
// continue to setup your mock
var target = autoMoqer.Create<ClassForTesting>();

Installation

via Package Manager
PM> Install-Package AutoMoqSlim
via dotnet CLI
> dotnet add package AutoMoqSlim
Product Versions
.NET net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows
.NET Core netcoreapp1.0 netcoreapp1.1 netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1
.NET Standard netstandard1.3 netstandard1.4 netstandard1.5 netstandard1.6 netstandard2.0 netstandard2.1
.NET Framework net45 net451 net452 net46 net461 net462 net463 net47 net471 net472 net48
MonoAndroid monoandroid
MonoMac monomac
MonoTouch monotouch
Tizen tizen30 tizen40 tizen60
Universal Windows Platform uap uap10.0
Xamarin.iOS xamarinios
Xamarin.Mac xamarinmac
Xamarin.TVOS xamarintvos
Xamarin.WatchOS xamarinwatchos
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on AutoMoqSlim:

Package Downloads
AutoMoqSlim.Microsoft

A simple "auto-mocking" container that helps you test classes with multiple dependencies. The interface is inspired by darrencauthon/AutoMoq. If you don't need to use it with existing Microsoft.DependencyInjection.IServiceCollection, then it's better to pick the plain AutoMoqSlim

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.2 2,135 9/18/2021
1.0.1 260 5/1/2021
1.0.0 233 4/17/2021
0.1.0 162 4/11/2021
0.0.5 148 4/11/2021