SpecFlowOSS / SpecFlow

#1 .NET BDD Framework. SpecFlow automates your testing & works with your existing code. Find Bugs before they happen. Behavior Driven Development helps developers, testers, and business representatives to get a better understanding of their collaboration
https://www.specflow.org/
Other
2.23k stars 752 forks source link

Changed NUnit3TestGeneratorProvider.SetTestMethod() and NUnit3TestGeneratorProvider.SetRowTest() to virtual #2567

Closed farum12 closed 2 years ago

farum12 commented 2 years ago

Changed NUnit3TestGeneratorProvider.SetTestMethod() and NUnit3TestGeneratorProvider.SetRowTest() to virtual. This will enable them to be overriden in generator plugins.

Why? XUnit2TestGeneratorProvider has these methods virtual. This enables overriding but keeping the ability to invoke base methods' code. This enables generator plugin devs to add additional functionality such as adding custom attributes during tag discovery in various situations (scenarios/scenario outlines/features/with tag/without tag).

NUnit3TestGeneratorProvider hasn't these methods virtual. Therefore, anyone who would want to override functionality, had to copy the entire NUnit3TestGeneratorProvider's body, and then add desired additional functionality. This could cause 3rd party generator plugins to be prone to updates in NUnit3TestGeneratorProvider class.

Types of changes

Checklist: