public CodeNamespace GenerateTestFileCode(FeatureFileInput featureFile, TextReader inputReader, CodeDomProvider codeProvider, CodeDomHelper codeDomHelper) { string targetNamespace = GetTargetNamespace(featureFile); SpecFlowLangParser parser = new SpecFlowLangParser(project.Configuration.GeneratorConfiguration.FeatureLanguage); Feature feature = parser.Parse(inputReader, featureFile.GetFullPath(project.ProjectSettings)); IUnitTestGeneratorProvider generatorProvider = ConfigurationServices.CreateInstance <IUnitTestGeneratorProvider>(project.Configuration.GeneratorConfiguration.GeneratorUnitTestProviderType); codeDomHelper.InjectIfRequired(generatorProvider); ISpecFlowUnitTestConverter testConverter = new SpecFlowUnitTestConverter(generatorProvider, codeDomHelper, project.Configuration.GeneratorConfiguration); var codeNamespace = testConverter.GenerateUnitTestFixture(feature, null, targetNamespace); return(codeNamespace); }
private CodeNamespace GenerateTestFileCode(FeatureFileInput featureFileInput, CodeDomHelper codeDomHelper) { string targetNamespace = GetTargetNamespace(featureFileInput) ?? "SpecFlow.GeneratedTests"; SpecFlowLangParser parser = new SpecFlowLangParser(generatorConfiguration.FeatureLanguage); Feature feature; using (var contentReader = featureFileInput.GetFeatureFileContentReader(projectSettings)) { feature = parser.Parse(contentReader, featureFileInput.GetFullPath(projectSettings)); } IUnitTestGeneratorProvider generatorProvider = ConfigurationServices.CreateInstance <IUnitTestGeneratorProvider>(generatorConfiguration.GeneratorUnitTestProviderType); codeDomHelper.InjectIfRequired(generatorProvider); ISpecFlowUnitTestConverter testConverter = new SpecFlowUnitTestConverter(generatorProvider, codeDomHelper, generatorConfiguration.AllowDebugGeneratedFiles, generatorConfiguration.AllowRowTests); var codeNamespace = testConverter.GenerateUnitTestFixture(feature, null, targetNamespace); return(codeNamespace); }