コード例 #1
0
        public void ShouldCreateTestDependenciesIntoProjectFile()
        {
            // mock
            const string ns = "qualquer.coisa";
            var filePath = FixtureHelper.CreateOrOverwriteFixtureFile(@".\_Fixtures\Parsers\ProjectFile_WithOneFeature.csproj");
            Func<Scenario, StepsBuilder> stepBuilderGenerator = (scenario) =>
            {
                var builder = new CSharpFeatureStepsBuilder();
                builder.RootNamespace = ns;
                builder.Feature = new Feature();
                builder.Scenario = scenario;
                return builder;
            };

            // prepare
            var parser = new VisualStudioProjectFileParser(filePath);

            var featureFiles = parser.ReadFeatureFiles();
            var specs = this.GenerateSpecificationGroupsFromFeatureFiles(featureFiles);
            foreach (var spec in specs)
            {
                foreach (var scenario in spec.Feature.Scenarios)
                {
                    spec.StepBuilderGenerator = stepBuilderGenerator;
                    spec.AddStepBuilder(scenario);
                }
            }

            // do
            parser.AppendFeatureDependencies(specs);

            // assert
            var hasDependencyTests = this.HasXmlNodeWithDependentFeatureCsFiles(filePath);
            Assert.IsTrue(hasDependencyTests);
        }
コード例 #2
0
        public void ShoulNotHaveEmptyXmlNsArguments()
        {
            // mock
            var filePath = FixtureHelper.CreateOrOverwriteFixtureFile(@".\_Fixtures\Parsers\ProjectFile_WithOneFeature.csproj");

            // prepare
            var parser = new VisualStudioProjectFileParser(filePath);
            var featureFiles = parser.ReadFeatureFiles();
            var specs = this.GenerateSpecificationGroupsFromFeatureFiles(featureFiles);

            // do
            parser.AppendFeatureDependencies(specs);

            // assert
            var hasEmptyXmlNs = this.HasEmptyXmlNsInProjectFile(filePath);
            Assert.IsFalse(hasEmptyXmlNs);
        }
コード例 #3
0
        public void ShouldReadFeatureFilePathsExistingInAProjectFile()
        {
            // mock
            var filePath = @".\_Fixtures\Parsers\ProjectFile_WithFeatures.csproj";

            // prepare
            var parser = new VisualStudioProjectFileParser(filePath);

            // do
            var featureFiles = parser.ReadFeatureFiles();

            // assert
            Assert.IsNotNull(featureFiles);
            Assert.AreNotEqual(0, featureFiles.Count());

            foreach (var featureFile in featureFiles)
            {
                var endsWithFeatureEx = featureFile.EndsWith(".feature", StringComparison.OrdinalIgnoreCase);
                Assert.IsTrue(endsWithFeatureEx);
            }
        }