Keine Beschreibung
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

TestResultAdaptor.cs 3.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using NUnit.Framework.Interfaces;
  5. using UnityEngine.TestRunner.TestLaunchers;
  6. namespace UnityEditor.TestTools.TestRunner.Api
  7. {
  8. internal class TestResultAdaptor : ITestResultAdaptor
  9. {
  10. private TNode m_Node;
  11. private ITestResult m_Result;
  12. internal TestResultAdaptor(ITestResult result, ITestAdaptor test, ITestResultAdaptor[] children = null)
  13. {
  14. Test = test;
  15. Name = result.Name;
  16. FullName = result.FullName;
  17. ResultState = result.ResultState.ToString();
  18. TestStatus = ParseTestStatus(result.ResultState.Status);
  19. Duration = result.Duration;
  20. StartTime = result.StartTime;
  21. EndTime = result.EndTime;
  22. Message = result.Message;
  23. StackTrace = result.StackTrace;
  24. AssertCount = result.AssertCount;
  25. FailCount = result.FailCount;
  26. PassCount = result.PassCount;
  27. SkipCount = result.SkipCount;
  28. InconclusiveCount = result.InconclusiveCount;
  29. HasChildren = result.HasChildren;
  30. Output = result.Output;
  31. Children = children;
  32. m_Result = result;
  33. }
  34. internal TestResultAdaptor(RemoteTestResultData result, RemoteTestResultDataWithTestData allData)
  35. {
  36. Test = new TestAdaptor(allData.tests.First(t => t.id == result.testId));
  37. Name = result.name;
  38. FullName = result.fullName;
  39. ResultState = result.resultState;
  40. TestStatus = ParseTestStatus(result.testStatus);
  41. Duration = result.duration;
  42. StartTime = result.startTime;
  43. EndTime = result.endTime;
  44. Message = result.message;
  45. StackTrace = result.stackTrace;
  46. AssertCount = result.assertCount;
  47. FailCount = result.failCount;
  48. PassCount = result.passCount;
  49. SkipCount = result.skipCount;
  50. InconclusiveCount = result.inconclusiveCount;
  51. HasChildren = result.hasChildren;
  52. Output = result.output;
  53. Children = result.childrenIds.Select(childId => new TestResultAdaptor(allData.results.First(r => r.testId == childId), allData)).ToArray();
  54. if (!string.IsNullOrEmpty(result.xml))
  55. {
  56. m_Node = TNode.FromXml(result.xml);
  57. }
  58. }
  59. public ITestAdaptor Test { get; private set; }
  60. public string Name { get; private set; }
  61. public string FullName { get; private set; }
  62. public string ResultState { get; private set; }
  63. public TestStatus TestStatus { get; private set; }
  64. public double Duration { get; private set; }
  65. public DateTime StartTime { get; private set; }
  66. public DateTime EndTime { get; private set; }
  67. public string Message { get; private set; }
  68. public string StackTrace { get; private set; }
  69. public int AssertCount { get; private set; }
  70. public int FailCount { get; private set; }
  71. public int PassCount { get; private set; }
  72. public int SkipCount { get; private set; }
  73. public int InconclusiveCount { get; private set; }
  74. public bool HasChildren { get; private set; }
  75. public IEnumerable<ITestResultAdaptor> Children { get; private set; }
  76. public string Output { get; private set; }
  77. public TNode ToXml()
  78. {
  79. if (m_Node == null)
  80. {
  81. m_Node = m_Result.ToXml(true);
  82. }
  83. return m_Node;
  84. }
  85. private static TestStatus ParseTestStatus(NUnit.Framework.Interfaces.TestStatus testStatus)
  86. {
  87. return (TestStatus)Enum.Parse(typeof(TestStatus), testStatus.ToString());
  88. }
  89. }
  90. }