Skip to content

SpecFlow plugin for using SimpleInjector as a dependency injection framework for step definitions

License

Notifications You must be signed in to change notification settings

jguc/SpecFlow.SimpleInjector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SpecFlow.SimpleInjector

SpecFlow plugin for using SimpleInjector as a dependency injection framework for step definitions.

Dependabot checks for new versions of

  • SpecFlow
  • SimpleInjector libraries every month and creates pull requests with updates.

After merge and tagging in GitHub automated action will pack and published update nuget library with updated version.

License: Apache (https://github.com/jguc/SpecFlow.SimpleInjector/blob/master/LICENSE)

NuGet: https://www.nuget.org/packages/SpecFlow.SimpleInjector

Build status Unit tests GitHub version NuGet version

Usage

Install plugin from NuGet into your SpecFlow project.

PM> Install-Package SpecFlow.SimpleInjector

Create a static method somewhere in the SpecFlow project (recommended to put it into the Support folder) that returns an SimpleInjector Container and tag it with the [ScenarioDependencies] attribute. Configure your dependencies for the scenario execution within the method.

A typical dependency builder method probably looks like this:

[ScenarioDependencies]
public static Container CreateContainer()
{
  // create container with the runtime dependencies
  var builder = Dependencies.CreateContainer();

  //TODO: add customizations, stubs required for testing

  return builder;
}

Plugin based on

http://gasparnagy.com/2016/08/specflow-tips-customizing-dependency-injection-with-autofac/

Release history

v2.0.1 - v2.X.X

  • Dependabot added to track SpecFlow and SimpleInjector version changes
  • NuGet package deployment automated after new tag is published
  • Sample project with unit test update
  • Unit tests automated with GitHub actions

v2.0.0

  • Conversion to .NET Standard 2.0 project (PR#8 by toadicusrex)
  • Updated libraries (SpecFlow and SimpleInjector)
  • Changed nuget publish process to .NET Standard
  • Updated example project

v1.2.0

  • Support for SpecFlow v3

v1.1.0

v1.0.2

  • First release supporting SpecFlow v2.1