示例#1
0
            public void Should_Capture_NUnit3_And_Throw_If_Labels_Is_Missing()
            {
                // Given
                var fixture = new SpecFlowTestExecutionReporterFixture();

                fixture.FileSystem.CreateFile("/Working/tools/nunit3-console.exe");

                var nUnit3Settings = new NUnit3Settings
                {
                    ShadowCopy   = false,
                    Results      = "/Working/TestResult.xml",
                    ResultFormat = "nunit2",
                    OutputFile   = "/Working/TestResult.txt"
                };

                fixture.Action = context =>
                {
                    context.NUnit3(new FilePath[] { "./Test.dll" }, nUnit3Settings);
                };

                // When
                var result = Record.Exception(() => fixture.Run());

                // Then
                Assert.IsCakeException(result, "NUnit3 must contain argument \"--labels=All\"");
            }
示例#2
0
            public void Should_Capture_NUnit3()
            {
                // Given
                var fixture = new SpecFlowTestExecutionReporterFixture();

                fixture.FileSystem.CreateFile("/Working/tools/nunit3-console.exe");

                var nUnit3Settings = new NUnit3Settings
                {
                    ShadowCopy   = false,
                    Results      = "/Working/TestResult.xml",
                    ResultFormat = "nunit2",
                    Labels       = NUnit3Labels.All,
                    OutputFile   = "/Working/TestResult.txt"
                };

                fixture.Action = context =>
                {
                    context.NUnit3(new FilePath[] { "./Test.dll" }, nUnit3Settings);
                };

                // When
                var result = fixture.Run();

                // Then
                Assert.Equal("nunitexecutionreport \"/Working/Tests.csproj\" " +
                             "/xmlTestResult:\"/Working/TestResult.xml\" " +
                             "/testOutput:\"/Working/TestResult.txt\"", result.Args);
            }
示例#3
0
            public void Should_Use_Default_AppDomainUsage_By_Default()
            {
                // Given, When
                var settings = new NUnit3Settings();

                // Then
                Assert.Equal(settings.AppDomainUsage, NUnit3AppDomainUsage.Default);
            }
示例#4
0
            public void Should_Use_Multiple_Processes_By_Default()
            {
                // Given, When
                var settings = new NUnit3Settings();

                // Then
                Assert.Equal(settings.Process, NUnit3ProcessOption.Multiple);
            }
示例#5
0
            public void Should_Use_No_Labels_By_Default()
            {
                // Given, When
                var settings = new NUnit3Settings();

                // Then
                Assert.Equal(settings.Labels, NUnit3Labels.Off);
            }
            public void Should_Use_No_Internal_Trace_By_Default()
            {
                // Given, When
                var settings = new NUnit3Settings();

                // Then
                Assert.Equal(settings.TraceLevel, null);
            }
示例#7
0
            public void Should_Not_Enable_Shadow_Copying_By_Default()
            {
                // Given, When
                var settings = new NUnit3Settings();

                // Then
                Assert.False(settings.ShadowCopy);
            }
 public static void SoftNUnit3(this ICakeContext context, string pattern, NUnit3Settings settings)
 {
     if (context == null)
     {
         throw new ArgumentNullException(nameof(context));
     }
     FilePath[] array = context.Globber.GetFiles(pattern).ToArray <FilePath>();
     if (array.Length == 0)
     {
         context.Log.Verbose("The provided pattern did not match any files.");
         return;
     }
     context.SoftNUnit3(array, settings);
 }
示例#9
0
    static NUnit3Settings BuildNUnit3Settings(ParsedProject projectUnderTest, AnyUnitTestSettings settings,
                                              DirectoryPath outputDir)
    {
        var whereClause = BuildNUnit3WhereClause(settings);

        var s = new NUnit3Settings();

        XBuildHelper.ApplyToolSettings(s, NUnitToolArgs);

        s.ShadowCopy = settings.ShadowCopyAssemblies;
        s.X86        = settings.ForceX86 || projectUnderTest.Platform == PlatformTarget.x86;
        var path = outputDir.CombineWithFilePath(projectUnderTest.Project.AssemblyName + ".nunit3.xml");

        NUnit3Result rxx = new NUnit3Result();

        rxx.FileName  = path;
        rxx.Format    = "nunit3";
        rxx.Transform = null;
        s.Results     = new List <NUnit3Result>
        {
            rxx
        };
        s.ArgumentCustomization = args =>
        {
            if (whereClause != null)
            {
                args.Append("--where");
                args.AppendQuoted(whereClause);
            }
            // Additionally generate NUnit2 output.
            AppendNUnit3AlternativeOutput(args,
                                          outputDir.CombineWithFilePath(projectUnderTest.Project.AssemblyName + ".nunit2.xml"));
            return(args);
        };
        return(s);
    }
示例#10
0
        private void NUnit3Test(List <FilePath> assemblies, FilePath outputFile, string whereFilter)
        {
            var settings = new NUnit3Settings
            {
                NoHeader  = true,
                NoResults = IsInteractiveBuild,
                //Verbose = _log.Verbosity > Verbosity.Normal,
                //OutputFile = outputFile,
                Results = new List <NUnit3Result> {
                    new NUnit3Result {
                        Format = "AppVeyor"
                    }
                },                                                                             //FileName = "testResult.xml",
                Where = whereFilter
            };

            if (!IsInteractiveBuild)
            {
                settings.OutputFile = outputFile;
            }
            var runner = new NUnit3Runner(_fileSystem, _environment, _processRunner, _tools);

            runner.Run(assemblies, settings);
        }
        public static void SoftNUnit3(this ICakeContext context, IEnumerable <FilePath> assemblies, NUnit3Settings settings)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }
            if (assemblies == null)
            {
                throw new ArgumentNullException(nameof(assemblies));
            }

            var runner = new SoftNUnit3Runner(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools);

            runner.Run(assemblies, settings);
        }
        public static void SoftNUnit3(this ICakeContext context, IEnumerable <string> assemblies, NUnit3Settings settings)
        {
            if (assemblies == null)
            {
                throw new ArgumentNullException(nameof(assemblies));
            }

            IEnumerable <FilePath> filePaths =
                from p in assemblies
                select new FilePath(p);

            context.SoftNUnit3(filePaths, settings);
        }