private static string GetErrorMessage(TestCaseResultServerEvent resultServerEvent)
        {
            var sb = new StringBuilder();
            if (resultServerEvent.ExceptionInfo != null)
                sb.Append(resultServerEvent.ExceptionInfo.FullMessage);

            if (!string.IsNullOrEmpty(resultServerEvent.OtherInfo))
            {
                sb.Append(Environment.NewLine);
                sb.Append(resultServerEvent.OtherInfo);
            }

            var rtn = sb.ToString();

            return string.IsNullOrEmpty(rtn) ? null : rtn;
        }
示例#2
0
        private static XElement CreateTestCaseElement(TestCaseResultServerEvent resultServerEvent)
        {
            var element = new XElement("test-case",
                                new XAttribute("name", resultServerEvent.FullMethodName()),
                                new XAttribute("executed", resultServerEvent.ResultType == ResultType.Ignored ? "False" : "True"),
                                new XAttribute("time", resultServerEvent.TimeToComplete.ToString(@"hh\:mm\:ss\.ffff", CultureInfo.InvariantCulture)),
                                new XAttribute("result", resultServerEvent.ResultType == ResultType.Ignored ? "Ignored" : (resultServerEvent.ResultType == ResultType.Failed || resultServerEvent.ResultType == ResultType.SystemGeneratedFailure) ? "Failure" : "Success"));

            if (resultServerEvent.ResultType != ResultType.Ignored)
                element.Add(new XAttribute("success", resultServerEvent.ResultType == ResultType.Passed ? "True" : "False"));

            if (resultServerEvent.ResultType == ResultType.Failed || resultServerEvent.ResultType == ResultType.SystemGeneratedFailure)
                element.Add(new XElement("failure",
                    new XElement("message", GetErrorMessage(resultServerEvent)),
                    new XElement("stack-trace", new XCData(GetErrorStackTrace(resultServerEvent)))));

            return element;
        }
示例#3
0
 private Guid GetTestId(TestCaseResultServerEvent testCaseResultServerEvent)
 {
     return GetGuidForItem(testCaseResultServerEvent, HashType.TestId);
 }
示例#4
0
        private Guid GetGuidForItem(TestCaseResultServerEvent testCaseResultServerEvent, HashType hashType)
        {
            IDictionary<TestCaseResultServerEvent, Guid> hash;
            switch (hashType)
            {
                case HashType.ExecutionId:
                    hash = _executionIdHash;
                    break;
                case HashType.TestId:
                    hash = _testIdHash;
                    break;
                default:
                    throw new NotImplementedException();
            }

            Guid newGuid;
            if (hash.ContainsKey(testCaseResultServerEvent))
                newGuid = hash[testCaseResultServerEvent];
            else
            {
                newGuid = _guidSequenceGenerator.GetNext();
                hash.Add(testCaseResultServerEvent, newGuid);
            }
            return newGuid;
        }
示例#5
0
        private static XElement GetTestOwner(TestCaseResultServerEvent test, XNamespace ns)
        {
            var owners = test.Metadata.Where(i => i.Value == "Owner");
            var items = new List<XElement>();
            foreach (var owner in owners)
            {
                items.Add(new XElement(ns + "Owner",
                    new XAttribute("name", owner.Name)));
            }
            if (items.Count > 0)
                return new XElement(ns + "Owners", items);

            return null;
        }
示例#6
0
 public void Handle(TestCaseResultServerEvent message)
 {
     Console.WriteLine("Hello From Class1");
 }
示例#7
0
 internal bool TryFindByFullName(string fullName, out TestCaseResultServerEvent testCaseResultServerEvent)
 {
     testCaseResultServerEvent = _testCaseResults.Where(w => w.FullMethodName() == fullName).SingleOrDefault();
     return testCaseResultServerEvent != null;
 }
示例#8
0
 public TestReport AddResult(TestCaseResultServerEvent resultServerEvent)
 {
     SetLastMessageReceivedTime();
     _testCaseResults.Add(resultServerEvent);
     return this;
 }
示例#9
0
 private static string GetErrorStackTrace(TestCaseResultServerEvent testCaseResultServerEvent)
 {
     if (testCaseResultServerEvent.ExceptionInfo != null)
         return testCaseResultServerEvent.ExceptionInfo.StackTrace ?? "";
     return testCaseResultServerEvent.OtherInfo ?? "";
 }
示例#10
0
 private static string GetErrorMessage(TestCaseResultServerEvent r)
 {
     if (r.ExceptionInfo != null)
         return r.ExceptionInfo.FullMessage ?? "";
     return r.OtherInfo ?? "";
 }