equadrat.Framework.Test.MSTest.Extensions.DependencyInjection (8.3.0-prerelease-00014)

Published 2026-01-25 09:19:14 +01:00 by frederik.engelhardt

Installation

dotnet nuget add source --name equadrat-oss --username your_username --password your_token 
dotnet add package --source equadrat-oss --version 8.3.0-prerelease-00014 equadrat.Framework.Test.MSTest.Extensions.DependencyInjection

About this package

A framework to extend the Microsoft .net framework with extra test functionality.

equadrat Framework Test

The idea of the equadrat Framework is to provide APIs to build applications with an architecture of highly decoupled components. Every single component, aspect or pattern is represented by interfaces. The framework provides a standard implementation for these but each type can be replaced by a custom implementation.

The framework is not about reimplementing components, but making them available using common interfaces.

Getting started

You can use most of the components by simply instantiating them. This is maybe the easiest way to evaluate the framework.

If you're using an IOC/DI container such as Microsoft Extensions DependencyInjection or if you want to use the built-in IOC framework, you can use the bootstrapper and bootstrapper modules to register the framework to the IOC.

Usage

[TestClass]
public sealed class MyUnitTest: MSTestExtDITemplate // This requires equadrat.Framework.Test.MSTest.Extensions.DependencyInjection NuGet package.
{
    protected override void RegisterDependencyModules(ICoreBootstrapperModuleRegistry moduleRegistry)
    {
        // Use the module registry to register bootstrapper modules. Usually each assembly has its own bootstrapper module.
        moduleRegistry.CoreFramework().RegisterBaseModule();

        base.RegisterDependencyModules(moduleRegistry);
    }

    protected override void ConfigureServices(IServiceCollection serviceCollection)
    {
        // Optional: declare other services as usual.

        // serviceCollection.AddSingleton<>();

        base.ConfigureServices(serviceCollection);
    }

    [TestMethod]
    public void MyTest()
    {
        // You can use the factory to resolve services:
        // this.Factory.GetInstanceOf<...>();
        // this.Factory.ServiceProvider.GetRequiredService<...>();

        // ...
    }
}

Have a look at the example applications on equadrat.net and in the wiki.

Interesting components

This is a list of some (not all) components of the framework which might be interesting for you.

Unit tests

  • MSTestTemplate
  • MSTestExtDITemplate (for Microsoft.Extensions.DependencyInjection)

Compatibility

The plan is to keep the equadrat Framework compatible to these .net versions as long as possible.

.net version min max
Core 3.1 ≥ 10.x
Standard 2.0 ≥ 2.1
Framework 4.6.2 ≥ 4.8.x

Version scheme and breaking changes

Version change Scope
Major Overhaul of the project
Minor Some types have changed
Revision Fully backward compatible
Build Set in preview versions only

Additional documentation

You can find some guides regarding specific features on my website: www.equadrat.net

Feedback

You can contact me on my website: www.equadrat.net

License

Please respect the license and check equadrat.Framework.Test.License.md before using the package.

Release notes

v8.3.0

  • Compatibility release.

v8.2.0

  • Added support for .net 10.

v8.1.0

  • Compatibility release

v8.0.0

  • Compatibility release

v7.6.0

  • Compatibility release

v7.5.0

  • Compatibility release

v7.4.0

  • Compatibility release

v7.3.0

  • Added support for .net 9.
  • Updated NuGet package references.

v7.2.1

  • Compatibility release

v7.2.0

  • Compatibility release

v7.1.0

  • Compatibility release

v7.0.1

  • Maintenance release

v7.0.0

  • Initial Release

Dependencies

ID Version Target Framework
equadrat.Framework.Test.MSTest 8.3.0-prerelease-00014 .NETStandard2.0
equadrat.Framework.Test.Interfaces 8.3.0-prerelease-00014 .NETStandard2.0
equadrat.Framework.Test 8.3.0-prerelease-00014 .NETStandard2.0
MSTest.TestFramework [3.11.1, 4.0.0) .NETStandard2.0
Microsoft.Bcl.AsyncInterfaces 10.0.2 .NETStandard2.0
Microsoft.Extensions.DependencyInjection 10.0.2 .NETStandard2.0
equadrat.Framework.Core 8.2.0 .NETStandard2.0
equadrat.Framework.Core.Interfaces 8.2.0 .NETStandard2.0
equadrat.Framework.Core.Microsoft.Extensions.DependencyInjection 8.2.0 .NETStandard2.0
equadrat.Framework.Test.MSTest 8.3.0-prerelease-00014 .NETStandard2.1
equadrat.Framework.Test.Interfaces 8.3.0-prerelease-00014 .NETStandard2.1
equadrat.Framework.Test 8.3.0-prerelease-00014 .NETStandard2.1
MSTest.TestFramework [3.11.1, 4.0.0) .NETStandard2.1
Microsoft.Extensions.DependencyInjection 10.0.2 .NETStandard2.1
equadrat.Framework.Core 8.2.0 .NETStandard2.1
equadrat.Framework.Core.Interfaces 8.2.0 .NETStandard2.1
equadrat.Framework.Core.Microsoft.Extensions.DependencyInjection 8.2.0 .NETStandard2.1
equadrat.Framework.Test.MSTest 8.3.0-prerelease-00014 net10.0
equadrat.Framework.Test.Interfaces 8.3.0-prerelease-00014 net10.0
equadrat.Framework.Test 8.3.0-prerelease-00014 net10.0
MSTest.TestFramework 4.0.2 net10.0
Microsoft.Extensions.DependencyInjection 10.0.2 net10.0
equadrat.Framework.Core 8.2.0 net10.0
equadrat.Framework.Core.Interfaces 8.2.0 net10.0
equadrat.Framework.Core.Microsoft.Extensions.DependencyInjection 8.2.0 net10.0
equadrat.Framework.Test.MSTest 8.3.0-prerelease-00014 net5.0
equadrat.Framework.Test.Interfaces 8.3.0-prerelease-00014 net5.0
equadrat.Framework.Test 8.3.0-prerelease-00014 net5.0
MSTest.TestFramework [3.11.1, 4.0.0) net5.0
Microsoft.Extensions.DependencyInjection 10.0.2 net5.0
equadrat.Framework.Core 8.2.0 net5.0
equadrat.Framework.Core.Interfaces 8.2.0 net5.0
equadrat.Framework.Core.Microsoft.Extensions.DependencyInjection 8.2.0 net5.0
equadrat.Framework.Test.MSTest 8.3.0-prerelease-00014 net6.0
equadrat.Framework.Test.Interfaces 8.3.0-prerelease-00014 net6.0
equadrat.Framework.Test 8.3.0-prerelease-00014 net6.0
MSTest.TestFramework [3.11.1, 4.0.0) net6.0
Microsoft.Extensions.DependencyInjection 10.0.2 net6.0
equadrat.Framework.Core 8.2.0 net6.0
equadrat.Framework.Core.Interfaces 8.2.0 net6.0
equadrat.Framework.Core.Microsoft.Extensions.DependencyInjection 8.2.0 net6.0
equadrat.Framework.Test.MSTest 8.3.0-prerelease-00014 net7.0
equadrat.Framework.Test.Interfaces 8.3.0-prerelease-00014 net7.0
equadrat.Framework.Test 8.3.0-prerelease-00014 net7.0
MSTest.TestFramework [3.11.1, 4.0.0) net7.0
Microsoft.Extensions.DependencyInjection 10.0.2 net7.0
equadrat.Framework.Core 8.2.0 net7.0
equadrat.Framework.Core.Interfaces 8.2.0 net7.0
equadrat.Framework.Core.Microsoft.Extensions.DependencyInjection 8.2.0 net7.0
equadrat.Framework.Test.MSTest 8.3.0-prerelease-00014 net8.0
equadrat.Framework.Test.Interfaces 8.3.0-prerelease-00014 net8.0
equadrat.Framework.Test 8.3.0-prerelease-00014 net8.0
MSTest.TestFramework 4.0.2 net8.0
Microsoft.Extensions.DependencyInjection 10.0.2 net8.0
equadrat.Framework.Core 8.2.0 net8.0
equadrat.Framework.Core.Interfaces 8.2.0 net8.0
equadrat.Framework.Core.Microsoft.Extensions.DependencyInjection 8.2.0 net8.0
equadrat.Framework.Test.MSTest 8.3.0-prerelease-00014 net9.0
equadrat.Framework.Test.Interfaces 8.3.0-prerelease-00014 net9.0
equadrat.Framework.Test 8.3.0-prerelease-00014 net9.0
MSTest.TestFramework 4.0.2 net9.0
Microsoft.Extensions.DependencyInjection 10.0.2 net9.0
equadrat.Framework.Core 8.2.0 net9.0
equadrat.Framework.Core.Interfaces 8.2.0 net9.0
equadrat.Framework.Core.Microsoft.Extensions.DependencyInjection 8.2.0 net9.0