public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters) { generatorPluginEvents.CustomizeDependencies += (sender, args) => { args.ObjectContainer.RegisterTypeAs <AttributeGeneratorProvider, IUnitTestGeneratorProvider>(); }; }
public void Initialize( GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters, UnitTestProviderConfiguration unitTestProviderConfiguration) { generatorPluginEvents.CustomizeDependencies += (sender, args) => CustomizeGeneratorDependencies(args.ObjectContainer); }
public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters, UnitTestProviderConfiguration unitTestProviderConfiguration) { unitTestProviderConfiguration.UseUnitTestProvider(MasterGeneratorProvider.Name); generatorPluginEvents.RegisterDependencies += CustomizeDependencies; }
public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters) { if (generatorPluginEvents != null) { generatorPluginEvents.CustomizeDependencies += GeneratorPluginEvents_CustomizeDependencies; } }
public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters, UnitTestProviderConfiguration unitTestProviderConfiguration) { generatorPluginEvents.RegisterDependencies += (sender, args) => { args.ObjectContainer.RegisterTypeAs <ExternalDataTestGenerator, ITestGenerator>(); args.ObjectContainer.RegisterTypeAs <ExternalDataFeaturePatcher, IExternalDataFeaturePatcher>(); args.ObjectContainer.RegisterTypeAs <TestDataProvider, ITestDataProvider>(); }; }
public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters) { generatorPluginEvents.RegisterDependencies += (sender, args) => { args.ObjectContainer.RegisterTypeAs <RetryUnitTestFeatureGenerator, IFeatureGenerator>(); args.ObjectContainer.RegisterTypeAs <RetryUnitTestFeatureGeneratorProvider, IFeatureGeneratorProvider>("retry"); args.ObjectContainer.RegisterTypeAs <RemoveRetryTagFromCategoriesDecorator, ITestClassTagDecorator>("retry"); args.ObjectContainer.RegisterTypeAs <RemoveRetryTagFromCategoriesDecorator, ITestMethodTagDecorator>("retry"); }; }
public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters, UnitTestProviderConfiguration unitTestProviderConfiguration) { generatorPluginEvents.CustomizeDependencies += (sender, args) => { if (args.SpecFlowProjectConfiguration.SpecFlowConfiguration.StopAtFirstError) { args.ObjectContainer.RegisterTypeAs <CustomHeaderWriter, ITestHeaderWriter>(); } }; }
public void Initialize( GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters, UnitTestProviderConfiguration unitTestProviderConfiguration) { generatorPluginEvents.RegisterDependencies += (sender, args) => { args.ObjectContainer.RegisterTypeAs <SharedBackgroundFeatureGeneratorProvider, IFeatureGeneratorProvider>(); args.ObjectContainer.RegisterTypeAs <SharedBackgroundFeatureGenerator, IFeatureGenerator>(); }; }
public void Should_be_able_to_change_default_configuration_from_a_plugin() { var pluginWithCustomConfiguration = new PluginWithCustomConfiguration(conf => conf.SpecFlowConfiguration.StopAtFirstError = true); var generatorPluginEvents = new GeneratorPluginEvents(); pluginWithCustomConfiguration.Initialize(generatorPluginEvents, new GeneratorPluginParameters(), new UnitTestProviderConfiguration()); var specFlowProjectConfiguration = new SpecFlowProjectConfiguration(); generatorPluginEvents.RaiseConfigurationDefaults(specFlowProjectConfiguration); specFlowProjectConfiguration.SpecFlowConfiguration.StopAtFirstError.Should().BeTrue(); }
public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters, UnitTestProviderConfiguration unitTestProviderConfiguration) { generatorPluginEvents.RegisterDependencies += (sender, args) => { args.ObjectContainer.RegisterTypeAs <ExternalDataTestGenerator, ITestGenerator>(); args.ObjectContainer.RegisterTypeAs <SpecificationProvider, ISpecificationProvider>(); args.ObjectContainer.RegisterTypeAs <DataSourceLoaderFactory, IDataSourceLoaderFactory>(); args.ObjectContainer.RegisterTypeAs <CsvLoader, IDataSourceLoader>("CSV"); args.ObjectContainer.RegisterTypeAs <ExcelLoader, IDataSourceLoader>("Excel"); }; }
private void LoadPlugin( PluginDescriptor pluginDescriptor, IGeneratorPluginLoader pluginLoader, GeneratorPluginEvents generatorPluginEvents, UnitTestProviderConfiguration unitTestProviderConfiguration) { var plugin = pluginLoader.LoadPlugin(pluginDescriptor); var generatorPluginParameters = new GeneratorPluginParameters { Parameters = pluginDescriptor.Parameters }; plugin.Initialize(generatorPluginEvents, generatorPluginParameters, unitTestProviderConfiguration); }
public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters, UnitTestProviderConfiguration unitTestProviderConfiguration) { generatorPluginEvents.RegisterDependencies += (_, args) => { args.ObjectContainer.RegisterTypeAs <Generator, ITestGenerator>(); }; generatorPluginEvents.CustomizeDependencies += (_, args) => { args.ObjectContainer.RegisterTypeAs <MissingExamplesParserFactory, IGherkinParserFactory>(); args.ObjectContainer.Resolve <ExamplesGeneratorContainer>().RegisterGenerator <T>(); }; InitializeInternal(generatorPluginEvents, generatorPluginParameters); }
public void Should_be_able_to_register_dependencies_from_a_plugin() { var pluginWithCustomDependency = new PluginWithCustomDependency(); var generatorPluginEvents = new GeneratorPluginEvents(); pluginWithCustomDependency.Initialize(generatorPluginEvents, new GeneratorPluginParameters(), new UnitTestProviderConfiguration()); var objectContainer = new ObjectContainer(); generatorPluginEvents.RaiseRegisterDependencies(objectContainer); var customDependency = objectContainer.Resolve <ICustomDependency>(); customDependency.Should().BeOfType(typeof(CustomDependency)); }
private static void LoadPlugins(ObjectContainer container, GeneratorPluginEvents generatorPluginEvents, UnitTestProviderConfiguration unitTestProviderConfigration, IEnumerable <string> generatorPlugins) { // initialize plugins that were registered from code foreach (var generatorPlugin in container.Resolve <IDictionary <string, IGeneratorPlugin> >().Values) { // these plugins cannot have parameters generatorPlugin.Initialize(generatorPluginEvents, new GeneratorPluginParameters(), unitTestProviderConfigration); } var pluginLoader = container.Resolve <IGeneratorPluginLoader>(); foreach (var generatorPlugin in generatorPlugins) { //todo: should set the parameters, and do not pass empty var pluginDescriptor = new PluginDescriptor(Path.GetFileNameWithoutExtension(generatorPlugin), generatorPlugin, PluginType.Generator, string.Empty); LoadPlugin(pluginDescriptor, pluginLoader, generatorPluginEvents, unitTestProviderConfigration); } }
public void Should_be_able_to_register_further_dependencies_based_on_the_configuration() //generatorPluginEvents.RaiseCustomizeDependencies(); { var pluginWithCustomization = new PluginWithCustomization(); var generatorPluginEvents = new GeneratorPluginEvents(); pluginWithCustomization.Initialize(generatorPluginEvents, new GeneratorPluginParameters(), new UnitTestProviderConfiguration()); var container = new ObjectContainer(); var specFlowProjectConfiguration = new SpecFlowProjectConfiguration(); generatorPluginEvents.RaiseCustomizeDependencies(container, specFlowProjectConfiguration); container.ResolveAll <ITestHeaderWriter>().Should().BeEmpty(); specFlowProjectConfiguration.SpecFlowConfiguration.StopAtFirstError = true; generatorPluginEvents.RaiseCustomizeDependencies(container, specFlowProjectConfiguration); var customHeaderWriter = container.Resolve <ITestHeaderWriter>(); customHeaderWriter.Should().BeOfType <CustomHeaderWriter>(); }
public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters, UnitTestProviderConfiguration unitTestProviderConfiguration) { generatorPluginEvents.ConfigurationDefaults += (sender, args) => { specifyDefaults(args.SpecFlowProjectConfiguration); }; }
public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters, UnitTestProviderConfiguration unitTestProviderConfiguration) { generatorPluginEvents.RegisterDependencies += (sender, args) => args.ObjectContainer.RegisterTypeAs <CustomDependency, ICustomDependency>(); }
public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters, UnitTestProviderConfiguration unitTestProviderConfiguration) { // Register the decorator generatorPluginEvents.RegisterDependencies += RegisterDependencies; }
public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters) { }
public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters) { generatorPluginEvents.RegisterDependencies += GeneratorPluginEvents_RegisterDependencies; }
public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters, UnitTestProviderConfiguration unitTestProviderConfiguration) { unitTestProviderConfiguration.UseUnitTestProvider("nunit"); }
private static void LoadPlugins(ObjectContainer container, IGeneratorConfigurationProvider configurationProvider, SpecFlowConfigurationHolder configurationHolder, GeneratorPluginEvents generatorPluginEvents) { // initialize plugins that were registered from code foreach (var generatorPlugin in container.Resolve <IDictionary <string, IGeneratorPlugin> >().Values) { // these plugins cannot have parameters generatorPlugin.Initialize(generatorPluginEvents, new GeneratorPluginParameters()); } var pluginLoader = container.Resolve <IGeneratorPluginLoader>(); foreach (var pluginDescriptor in configurationProvider.GetPlugins(configurationHolder).Where(pd => (pd.Type & PluginType.Generator) != 0)) { LoadPlugin(pluginDescriptor, pluginLoader, generatorPluginEvents); } }
public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters, UnitTestProviderConfiguration unitTestProviderConfiguration) { //unitTestProviderConfiguration.UseUnitTestProvider("specs-multiple-configurations"); generatorPluginEvents.RegisterDependencies += GeneratorPluginEvents_RegisterDependencies; generatorPluginEvents.CustomizeDependencies += GeneratorPluginEvents_CustomizeDependencies; }
private static void LoadPlugin(PluginDescriptor pluginDescriptor, IGeneratorPluginLoader pluginLoader, GeneratorPluginEvents generatorPluginEvents) { var plugin = pluginLoader.LoadPlugin(pluginDescriptor); var generatorPluginParameters = new GeneratorPluginParameters { Parameters = pluginDescriptor.Parameters }; plugin.Initialize(generatorPluginEvents, generatorPluginParameters); }
public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters, UnitTestProviderConfiguration unitTestProviderConfiguration) { unitTestProviderConfiguration.UseUnitTestProvider("xunit"); //todo make a constant }
public virtual void InitializeInternal(GeneratorPluginEvents events, GeneratorPluginParameters parameters) { }
public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters, UnitTestProviderConfiguration unitTestProviderConfiguration) { generatorPluginEvents.CustomizeDependencies += CustomizeDependencies; }
public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters) { generatorPluginEvents.CustomizeDependencies += this.GeneratorPluginEventsOnCustomizeDependencies; }
public void Initialize(GeneratorPluginEvents generatorPluginEvents, GeneratorPluginParameters generatorPluginParameters, UnitTestProviderConfiguration unitTestProviderConfiguration) { var pars = new SpecFlowGherkinParser(new GherkinDialectProvider()); }