예제 #1
0
        private void Should_parse_csproj_file_correctly(string csprojPath, string language, string assemblyName, string rootNamespace, string projectName)
        {
            string directoryName   = Path.GetDirectoryName(new Uri(GetType().Assembly.CodeBase).LocalPath);
            string projectFilePath = Path.Combine(directoryName, csprojPath);

            var specFlowJsonLocatorMock = new Mock <ISpecFlowJsonLocator>();

            var configurationLoader            = new ConfigurationLoader(specFlowJsonLocatorMock.Object);
            var generatorConfigurationProvider = new GeneratorConfigurationProvider(configurationLoader);
            var projectLanguageReader          = new ProjectLanguageReader();
            var reader = new ProjectReader(generatorConfigurationProvider, projectLanguageReader);

            var specFlowProjectFile = reader.ReadSpecFlowProject(projectFilePath, rootNamespace);

            specFlowProjectFile.ProjectSettings.DefaultNamespace.Should().Be(rootNamespace);
            specFlowProjectFile.ProjectSettings.ProjectName.Should().Be(projectName);

            specFlowProjectFile.ProjectSettings.ProjectPlatformSettings.Language.Should().Be(language);

            specFlowProjectFile.Configuration.SpecFlowConfiguration.AllowDebugGeneratedFiles.Should().BeFalse();
            specFlowProjectFile.Configuration.SpecFlowConfiguration.AllowRowTests.Should().BeTrue();
            specFlowProjectFile.Configuration.SpecFlowConfiguration.FeatureLanguage.Name.Should().Be("en-US");
        }