-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Microsoft.Extensions.DependencyInjection integration plugin #94
Add Microsoft.Extensions.DependencyInjection integration plugin #94
Conversation
Hi @mbhoek, Thank you for your great effort. |
@gasparnagy Status update: the plugin in this PR is a direct copy of my original plugin with the namespaces adjusted. As such, it works and is ready to be merged. However I wanted to include (new) unit tests and align the way the plugin works with how the Autofac plugin handles Global/Feature/Scenario dependencies. This has been a long standing wish of mine, because I'm not completely satisfied with how the original plugin does Feature/Scenario dependencies. It would also introduce some breaking changes in how the plugin works, which make sense to do now because we're including it in Reqnroll for the first time. Unfortunately this turned out into a complete rewrite of the plugin, which is taking a lot longer than expected (also due to limited time). I do like where it's heading though so I would like to keep working on it. I also understand that the community is getting anxious/is waiting for this plugin, so I would like to discuss what the best next step is. |
How about a simple first pass that aligns with the current, and then the second version with the breaking changes? Could have a common interface but different names so people can adopt when they have bandwidth |
I guess that's a solution and maybe the preferred one for Reqnroll's progression. @gasparnagy Are you okay with me submitting this PR without the unit tests and aligning with Autofac's scopes (i.e. the first two items on this PRs todo list)? I could then introduce the breaking changes for the v2 milestone you already created. |
@mbhoek sure. let's include it without the bigger changes and we will add them later |
Just to chip in, could you consider a shorter nuget package name? For example, lots of package authors use For example:
and so on. |
@robertcoltheart The naming here is really painful, because "DependencyInjection" is such a generic name, but the correct name is too long... We have discussed about it here and decided on this long name. In our case |
…ons-dependencyinjection-plugin * origin/main: (21 commits) Fix #56 autofac ambiguous stepdef and hook required #127 issue (#139) Reduce target framework of Reqnroll to netstandard2.0 (#130) Fix StackOverflowException when using [StepArgumentTransformation] with same input and output type (#136) MsTest: Replace DelayedFixtureTearDown special case with ClassCleanupBehavior.EndOfClass (#128) Temporarily disabled tests until #132 is resolved Add NUnit & xUnit core tests to portability suite Capture ExecutionContext after every binding invoke (#126) small improvement in CodeDomHelper to be able to chain async calls fix method name sources in UnitTestFeatureGenerator External data plugin, support for JSON files (#118) UnitTests: Check if SDK version is installed and if not ignore the test (#109) Fix 111 ignore attr not inherited from rule (#113) Update README.md (#110) Fix 81 - modified CucumberExpressionParameterTypeRegistry to handle multiple custom types used as cucumber expressions when those types share the same short name. (#104) Update index.md Simplify test project targets (#105) Make SystemTests temp folder configurable and use NUGET_PACKAGES env var to override global NuGet folder Fleshing out Generation System Tests (2) (#99) Fix for 81 - Cucumber Expression using Enums errors when two enums exist with the same short name (#100) Include BoDi to Reqnroll package (#91) (#95) ... # Conflicts: # Reqnroll.sln # Tests/Reqnroll.PluginTests/Reqnroll.PluginTests.csproj
@mbhoek I have fixed the merging problems and ported the docs from https://github.com/solidtoken/SpecFlow.DependencyInjection#usage. I will merge this PR now, as I would like to make a release. We can keep improving it of course. I have made some unit tests for the Autofac plugin (see https://github.com/reqnroll/Reqnroll/blob/main/Tests/Reqnroll.PluginTests/Autofac/AutofacPluginTests.cs), maybe based on that we can also make some for this. But let's keep that for another PR. Thx for the contribution! |
Thanks again for taking the time to take this across the finish line @gasparnagy -- wish I could've been more helpful, but glad that the plugin is now part of Reqnroll! 👍 |
Thanks to both of you, @gasparnagy any ETA for the nuget package? |
@bhugot in a few hours... |
Thank you @mbhoek and @gasparnagy |
…hread-container * origin/main: Extract cucumber expression detection heuristic to an interface fix test artifact folder calculation Restructure solution folders (#141) cleanup CHANGELOG.md ignore generated file remove generated file bump version Add Microsoft.Extensions.DependencyInjection integration plugin (#94) Fix #56 autofac ambiguous stepdef and hook required #127 issue (#139) Reduce target framework of Reqnroll to netstandard2.0 (#130) Fix StackOverflowException when using [StepArgumentTransformation] with same input and output type (#136) # Conflicts: # CHANGELOG.md
As discussed in #19, this PR adds the Microsoft.Extensions.DependencyInjection integration plugin taken from solidtoken/SpecFlow.DependencyInjection@daa5409.