LoFuUnit.AutoNSubstitute 1.3.0

Install-Package LoFuUnit.AutoNSubstitute -Version 1.3.0
dotnet add package LoFuUnit.AutoNSubstitute --version 1.3.0
<PackageReference Include="LoFuUnit.AutoNSubstitute" Version="1.3.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add LoFuUnit.AutoNSubstitute --version 1.3.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: LoFuUnit.AutoNSubstitute, 1.3.0"
#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 LoFuUnit.AutoNSubstitute as a Cake Addin
#addin nuget:?package=LoFuUnit.AutoNSubstitute&version=1.3.0

// Install LoFuUnit.AutoNSubstitute as a Cake Tool
#tool nuget:?package=LoFuUnit.AutoNSubstitute&version=1.3.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Build status CodeFactor

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

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.3.0 192 6/4/2021
1.2.0 393 4/11/2020
1.1.1 334 12/27/2019
1.0.1 608 1/23/2019

🔢 Test functions are executed in order of declaration