fm.Extensions.Testing.DependencyInjection 2.0.0

Provides a base class for tests based on Microsoft.Extensions.DependencyInjection. Use common Startup.cs patterns like ConfigureServices(...) and Configure(...) to setup your tests.

Commonly used types:

public class DatabaseCleanupBackgroundServiceTests : ServiceTestsBase
   protected override void ConfigureServices([NotNull] IServiceCollection services)

       services.AddSingleton(sp => A.Fake<IDatabaseCleanupService>());
       services.AddSingleton<ILogRecorder, LogRecorderProvider>();

   protected override void Configure([NotNull] IServiceProvider services, [NotNull] ILoggerFactory loggerFactory)
       base.Configure(services, loggerFactory);

   public void CleanupSuggestedFailTest()
       IDatabaseCleanupService databaseCleanupService = this.GetRequiredService<IDatabaseCleanupService>();
       A.CallTo(() => databaseCleanupService.RemoveObsoleteProjectsAsync(A<CancellationToken>.Ignored)).Throws(new InvalidOperationException(nameof(this.CleanupSuggestedFailTest)));

       DatabaseCleanupBackgroundService service = this.GetRequiredService<DatabaseCleanupBackgroundService>();


       ILogRecorder logRecorder = this.GetRequiredService<ILogRecorder>();
       logRecorder.Messages.Single(m => m.LogLevel == LogLevel.Error).Exception.ShouldBeOfType<InvalidOperationException>().Message.ShouldBe(nameof(this.CleanupSuggestedFailTest));

There is a newer version of this package available.
See the version list below for details.
Install-Package fm.Extensions.Testing.DependencyInjection -Version 2.0.0
dotnet add package fm.Extensions.Testing.DependencyInjection --version 2.0.0
<PackageReference Include="fm.Extensions.Testing.DependencyInjection" Version="2.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add fm.Extensions.Testing.DependencyInjection --version 2.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: fm.Extensions.Testing.DependencyInjection, 2.0.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 fm.Extensions.Testing.DependencyInjection as a Cake Addin
#addin nuget:?package=fm.Extensions.Testing.DependencyInjection&version=2.0.0

// Install fm.Extensions.Testing.DependencyInjection as a Cake Tool
#tool nuget:?package=fm.Extensions.Testing.DependencyInjection&version=2.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

Moving to .NET Core, this library does no longer depend on MSTest. If you need specific loggers or configuration variables, inherit from ServiceTestsBase and use the overrides to setup your DI.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
5.0.0 373 11/15/2020
4.4.0 635 1/4/2020
4.3.0 305 10/23/2019
4.2.1 530 2/26/2019
4.2.0 280 2/26/2019
4.0.0 5,774 10/11/2017
3.0.0 487 10/9/2017
2.0.0 707 2/27/2017
1.0.0 755 6/29/2016
Show less