Beispiel #1
0
        public virtual async Task <ITestsExecutionResult <MSTestTestcase> > ProcessTests(IList <MSTestTestcase> impactedTests, StructuralDelta <TestsModel <MSTestTestcase>, MSTestTestcase> testsDelta, TProgramDelta programDelta, CancellationToken cancellationToken)
        {
            msTestTestcases = impactedTests;

            var vsTestResults = await ExecuteTests(msTestTestcases.Select(x => x.VsTestTestCase), cancellationToken);

            var result = new MSTestExectionResult();

            result.TestcasesResults.AddRange(testResultsAdapter.Parse(new VsTestResultsToConvert
            {
                MSTestTestcases = msTestTestcases,
                Results         = vsTestResults
            }));

            if (settingsProvider.CleanupTestResultsDirectory)
            {
                var           resultsPath     = Path.GetFullPath(MSTestConstants.TestResultsFolder);
                DirectoryInfo resulsDirectory = new DirectoryInfo(resultsPath);

                foreach (DirectoryInfo dir in resulsDirectory.EnumerateDirectories("Deploy*"))
                {
                    dir.Delete(true);
                }
            }

            return(result);
        }
        public virtual async Task <ITestsExecutionResult <MSTestTestcase> > ProcessTests(IList <MSTestTestcase> impactedTests, StructuralDelta <TestsModel <MSTestTestcase>, MSTestTestcase> testsDelta, TProgramDelta programDelta, CancellationToken cancellationToken)
        {
            var executionResult = new MSTestExectionResult();

            CurrentlyExecutedTests = impactedTests;
            CurrentlyExecutedTests = CurrentlyExecutedTests.Where(x => !x.Ignored).ToList();
            if (CurrentlyExecutedTests.Any())
            {
                var arguments = BuildVsTestsArguments();

                await ExecuteVsTestsByArguments(arguments, cancellationToken);

                cancellationToken.ThrowIfCancellationRequested();

                executionResult = ParseVsTestsTrxAnswer();
            }

            return(executionResult);
        }