暫無描述
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

TestJobData.cs 3.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. using System;
  2. using System.Collections.Generic;
  3. using NUnit.Framework.Interfaces;
  4. using UnityEditor.SceneManagement;
  5. using UnityEditor.TestTools.TestRunner.Api;
  6. using UnityEditor.TestTools.TestRunner.TestRun.Tasks;
  7. using UnityEngine;
  8. using UnityEngine.SceneManagement;
  9. using UnityEngine.TestRunner.NUnitExtensions.Runner;
  10. using UnityEngine.TestTools;
  11. using UnityEngine.TestTools.NUnitExtensions;
  12. using UnityEngine.TestTools.TestRunner;
  13. namespace UnityEditor.TestTools.TestRunner.TestRun
  14. {
  15. [Serializable]
  16. internal class TestJobData : ISerializationCallbackReceiver
  17. {
  18. [SerializeField]
  19. public string guid;
  20. [SerializeField]
  21. public string startTime;
  22. [NonSerialized]
  23. public Stack<TaskInfo> taskInfoStack = new Stack<TaskInfo>();
  24. [SerializeField]
  25. public int taskPC;
  26. [SerializeField]
  27. public bool isRunning;
  28. [SerializeField]
  29. public ExecutionSettings executionSettings;
  30. [SerializeField]
  31. public RunProgress runProgress = new RunProgress();
  32. [SerializeField]
  33. public string[] existingFiles;
  34. [SerializeField]
  35. public int undoGroup = -1;
  36. [SerializeField]
  37. public EditModeRunner editModeRunner;
  38. [SerializeField]
  39. public BeforeAfterTestCommandState setUpTearDownState;
  40. [SerializeField]
  41. public BeforeAfterTestCommandState outerUnityTestActionState;
  42. [SerializeField]
  43. public TestRunnerStateSerializer testRunnerStateSerializer;
  44. [SerializeField]
  45. public EnumerableTestState enumerableTestState;
  46. [SerializeField]
  47. private TaskInfo[] savedTaskInfoStack;
  48. [NonSerialized]
  49. public bool isHandledByRunner;
  50. [SerializeField]
  51. public SceneSetup[] SceneSetup;
  52. [NonSerialized]
  53. public TestTaskBase[] Tasks;
  54. [SerializeField]
  55. public TestProgress testProgress;
  56. public ITest testTree;
  57. [NonSerialized]
  58. public ITestFilter testFilter;
  59. [NonSerialized]
  60. public TestStartedEvent TestStartedEvent;
  61. [NonSerialized]
  62. public TestFinishedEvent TestFinishedEvent;
  63. [NonSerialized]
  64. public RunStartedEvent RunStartedEvent;
  65. [NonSerialized]
  66. public RunFinishedEvent RunFinishedEvent;
  67. [NonSerialized]
  68. public UnityTestExecutionContext Context;
  69. [NonSerialized]
  70. public ConstructDelegator ConstructDelegator;
  71. [NonSerialized]
  72. public ITestResult TestResults;
  73. [SerializeField]
  74. public Scene InitTestScene;
  75. [SerializeField]
  76. public string InitTestScenePath;
  77. [SerializeField]
  78. public BuildPlayerOptions PlayerBuildOptions;
  79. [SerializeField]
  80. public PlaymodeTestsController PlaymodeTestsController;
  81. [SerializeField]
  82. public PlaymodeTestsControllerSettings PlayModeSettings;
  83. [SerializeField]
  84. public PlatformSpecificSetup PlatformSpecificSetup;
  85. [NonSerialized]
  86. public RuntimePlatform? TargetRuntimePlatform;
  87. [SerializeField]
  88. public EnumerableTestState RetryRepeatState;
  89. [SerializeField]
  90. public SavedProjectSettings OriginalProjectSettings;
  91. public TestJobData(ExecutionSettings settings)
  92. {
  93. guid = Guid.NewGuid().ToString();
  94. executionSettings = settings;
  95. isRunning = false;
  96. startTime = DateTime.Now.ToString("o");
  97. }
  98. public void OnBeforeSerialize()
  99. {
  100. savedTaskInfoStack = taskInfoStack.ToArray();
  101. }
  102. public void OnAfterDeserialize()
  103. {
  104. taskInfoStack = new Stack<TaskInfo>(savedTaskInfoStack);
  105. }
  106. [Serializable]
  107. internal class SavedProjectSettings
  108. {
  109. public bool runInBackgroundValue;
  110. public bool consoleErrorPaused;
  111. }
  112. }
  113. }