LoFuUnit.AutoNSubstitute
2.0.0
dotnet add package LoFuUnit.AutoNSubstitute --version 2.0.0
NuGet\Install-Package LoFuUnit.AutoNSubstitute -Version 2.0.0
<PackageReference Include="LoFuUnit.AutoNSubstitute" Version="2.0.0" />
paket add LoFuUnit.AutoNSubstitute --version 2.0.0
#r "nuget: LoFuUnit.AutoNSubstitute, 2.0.0"
// Install LoFuUnit.AutoNSubstitute as a Cake Addin
#addin nuget:?package=LoFuUnit.AutoNSubstitute&version=2.0.0
// Install LoFuUnit.AutoNSubstitute as a Cake Tool
#tool nuget:?package=LoFuUnit.AutoNSubstitute&version=2.0.0
LoFuUnit.AutoNSubstitute
Use LoFuUnit and NSubstitute to automatically Mock
/ Fake
/ Stub
dependencies.
LoFuUnit.AutoNSubstitute and related packages makes it convenient for developers to write tests with collaboration & communication in mind.
Mocks 🦆
An example of a test with LoFuUnit.AutoNSubstitute
, LoFuUnit.NUnit and FluentAssertions:
using System;
using FluentAssertions;
using LoFuUnit.AutoNSubstitute;
using LoFuUnit.NUnit;
using NSubstitute;
using NUnit.Framework;
namespace LoFuUnitDocs
{
public class MoodTests : LoFuTest<MoodIdentifier>
{
string _mood;
[LoFu, Test]
public void Identify_mood_on_mondays()
{
void given_the_current_day_is_monday()
{
var monday = new DateTime(2011, 2, 14);
Use<ISystemClock>()
.CurrentTime
.Returns(monday);
}
void when_identifying_my_mood() =>
_mood = Subject.IdentifyMood();
void should_be_pretty_bad() =>
_mood.Should().Be("Pretty bad");
}
}
}
Output:
Identify mood on mondays
given the current day is monday
when identifying my mood
should be pretty bad
The LoFuTest<TSubject>
base class provides auto-mocking capabilities. The generic type parameter defines what kind of subject under test to create.
The Use<TDependency>
method creates a mock that the subject is dependent upon, and it can later be accessed via the The<TDependency>
method.
Use these methods to configure the behavior and verify the interaction with the mocks.
The Subject
property returns an auto-mocked instance of the subject under test.
More documentation is available at https://github.com/hlaueriksson/LoFuUnit
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 net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows |
.NET Core | netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1 |
.NET Standard | netstandard2.0 netstandard2.1 |
.NET Framework | net461 net462 net463 net47 net471 net472 net48 net481 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen40 tizen60 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
-
.NETStandard 2.0
- AutoFixture.AutoNSubstitute (>= 4.17.0)
- LoFuUnit (>= 2.0.0)
- LoFuUnit.Auto (>= 2.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
- Remove TargetFramework net461
- Fix lambda expression bug