Example #1
0
 protected virtual TestCase CreateTestCase(TestSourceSettings settings, Spec spec)
 {
     var testCase = new TestCase(spec.FullyQualifiedName, TestAdapterInfo.ExecutorUri, settings.Source);
     testCase.DisplayName = spec.DisplayName;
     if (spec.Traits != null)
     {
         foreach (var trait in spec.Traits)
         {
             if (!string.IsNullOrWhiteSpace(trait.Name))
             {
                 testCase.Traits.Add(trait.Name, trait.Value);
             }
         }
     }
     if (spec.Source != null)
     {
         testCase.CodeFilePath = spec.Source.FileName;
         if (spec.Source.LineNumber.HasValue)
         {
             testCase.LineNumber = spec.Source.LineNumber.Value;
         }
     }
     return testCase;
 }
Example #2
0
        private void RunTest(TestSourceSettings settings, ITestLogger logger, IRunContext runContext, IFrameworkHandle frameworkHandle, Spec spec)
        {
            var testCase = CreateTestCase(settings, spec);
            var outcome = TestOutcome.None;

            frameworkHandle.RecordStart(testCase);
            foreach (var result in spec.Results)
            {
                if (result.Skipped && outcome != TestOutcome.Failed)
                {
                    outcome = TestOutcome.Skipped;
                }

                if (result.Success && outcome == TestOutcome.None)
                {
                    outcome = TestOutcome.Passed;
                }

                if (!result.Success && !result.Skipped)
                {
                    outcome = TestOutcome.Failed;
                }

                frameworkHandle.RecordResult(GetResult(testCase, result, frameworkHandle));
            }
            frameworkHandle.RecordEnd(testCase, outcome);
        }