Ejemplo n.º 1
0
        protected override void OnExecute()
        {
            if (!Directory.Exists(_testProjectsBaseDirectory))
            {
                return;
            }

            var unitTestProjects = _testProjectsBaseDirectory.GlobFiles(_projectsPattern);

            var failedTests = new List <(string UnitTestProject, Exception Exception)>();

            foreach (var unitTestProject in unitTestProjects)
            {
                var projectName = Path.GetFileNameWithoutExtension(unitTestProject);

                var testResultFile = Path.Combine(_resultsDirectory, $"{projectName}.{_resultFileExt}");

                try
                {
                    var testSettings =
                        CreateTestSettings(unitTestProject, testResultFile);

                    DotNetTasks.DotNetTest(testSettings);
                }
                catch (Exception e)
                {
                    failedTests.Add((UnitTestProject: unitTestProject, Exception: e));
                }
            }

            if (failedTests.Any())
            {
                throw failedTests.First().Exception;
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// xunit test
 /// </summary>
 public static ITargetDefinition Test(ITargetDefinition _, IMsBuild build) => _
 .DependsOn(build.Build)
 .DependentFor(build.Pack)
 .Executes(
     () =>
 {
     foreach (var project in build.Solution.GetTestProjects())
     {
         DotNetTasks
         .DotNetTest(
             settings =>
             settings
             .SetProjectFile(project)
             .SetConfiguration(build.Configuration)
             .SetGitVersionEnvironment(build.GitVersion)
             .SetDefaultLoggers(build.LogsDirectory / "test.log")
             .EnableNoRestore()
             .SetLogger("trx")
             .SetProperty("VSTestResultsDirectory", build.TestResultsDirectory)
             );
     }
 }
     );