LoFuUnit.AutoMoq 1.2.0

Auto-mocked Unit Testing with Local Functions 🐯

Use the traditional Unit Testing Frameworks to write TDD or BDD tests:

✔️ Arrange / Act / Assert
✔️ Given / When / Then
✔️ Context / Specification

Use Moq to:

✔️ Mock / Fake / Stub

Install-Package LoFuUnit.AutoMoq -Version 1.2.0
dotnet add package LoFuUnit.AutoMoq --version 1.2.0
<PackageReference Include="LoFuUnit.AutoMoq" Version="1.2.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add LoFuUnit.AutoMoq --version 1.2.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Build status CodeFactor

Use LoFuUnit and Moq to automatically Mock / Fake / Stub dependencies.

LoFuUnit.AutoMoq and related packages makes it convenient for developers to write tests with collaboration & communication in mind.

Mocks 🦆

An example of a test with LoFuUnit.AutoMoq, LoFuUnit.NUnit and FluentAssertions:

using System;
using FluentAssertions;
using LoFuUnit.AutoMoq;
using LoFuUnit.NUnit;
using Moq;
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<Mock<ISystemClock>>()
                    .Setup(x => x.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&lt;TSubject&gt; base class provides auto-mocking capabilities. The generic type parameter defines what kind of subject under test to create.

The Use&lt;TDependency&gt; method creates a mock that the subject is dependent upon, and it can later be accessed via the The&lt;TDependency&gt; 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

Build status CodeFactor

Use LoFuUnit and Moq to automatically Mock / Fake / Stub dependencies.

LoFuUnit.AutoMoq and related packages makes it convenient for developers to write tests with collaboration & communication in mind.

Mocks 🦆

An example of a test with LoFuUnit.AutoMoq, LoFuUnit.NUnit and FluentAssertions:

using System;
using FluentAssertions;
using LoFuUnit.AutoMoq;
using LoFuUnit.NUnit;
using Moq;
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<Mock<ISystemClock>>()
                    .Setup(x => x.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&lt;TSubject&gt; base class provides auto-mocking capabilities. The generic type parameter defines what kind of subject under test to create.

The Use&lt;TDependency&gt; method creates a mock that the subject is dependent upon, and it can later be accessed via the The&lt;TDependency&gt; 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

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.2.0 152 4/11/2020
1.1.1 135 12/27/2019
1.0.1 293 1/23/2019