示例#1
0
        private static TestResultParseResult RetrieveTestResult(
            UnitTestResult unitTestResult,
            Dictionary <string, UnitTest> testDefinitions)
        {
            var testDefinition = testDefinitions[unitTestResult.TestId];
            var duration       = string.IsNullOrEmpty(unitTestResult.Duration)
                                ? TimeSpan.Zero
                                : TimeSpan.Parse(unitTestResult.Duration);

            var addTestResultCommand = new TestResultParseResult
            {
                Name      = testDefinition.TestMethod.Name,
                ClassName = testDefinition.TestMethod.ClassName,
                Duration  = duration,
                Status    = ResolveStatus(unitTestResult.Outcome, duration)
            };

            if (unitTestResult.Output != null)
            {
                addTestResultCommand.Messages = unitTestResult.Output.StdOut;
                if (unitTestResult.Output.ErrorInfo != null)
                {
                    addTestResultCommand.ErrorMessage = unitTestResult.Output.ErrorInfo.Message;
                    addTestResultCommand.StackTrace   = unitTestResult.Output.ErrorInfo.StackTrace;
                }
            }

            return(addTestResultCommand);
        }
示例#2
0
        private static List <TestResultParseResult> RetrieveTestResults(TestRun testRunResult)
        {
            List <TestResultParseResult> testResults =
                new List <TestResultParseResult>(testRunResult.Results.UnitTestResult.Count);
            Dictionary <string, UnitTest> testDefinitions = testRunResult.TestDefinitions.UnitTest.ToDictionary(x => x.Id);

            foreach (UnitTestResult unitTestResult in testRunResult.Results.UnitTestResult)
            {
                TestResultParseResult createTestResultCommand = RetrieveTestResult(unitTestResult, testDefinitions);
                testResults.Add(createTestResultCommand);
            }

            return(testResults);
        }