public void Run() { EditModeTestCallbacks.RestoringTestContext += OnRestoringTest; var context = m_Runner.GetCurrentContext(); if (m_SetUpTearDownState == null) { m_SetUpTearDownState = CreateInstance <BeforeAfterTestCommandState>(); } context.SetUpTearDownState = m_SetUpTearDownState; if (m_OuterUnityTestActionState == null) { m_OuterUnityTestActionState = CreateInstance <BeforeAfterTestCommandState>(); } context.OuterUnityTestActionState = m_OuterUnityTestActionState; if (m_EnumerableTestState == null) { m_EnumerableTestState = CreateInstance <EnumerableTestState>(); } context.EnumerableTestState = m_EnumerableTestState; if (!m_RunningTests) { m_RunStartedEvent.Invoke(m_Runner.LoadedTest); } if (m_ConstructDelegator == null) { m_ConstructDelegator = new ConstructDelegator(m_TestRunnerStateSerializer); } Reflect.ConstructorCallWrapper = m_ConstructDelegator.Delegate; m_TestStartedEvent.AddListener(TestStartedEvent); m_TestFinishedEvent.AddListener(TestFinishedEvent); AssemblyReloadEvents.beforeAssemblyReload += OnBeforeAssemblyReload; RunningTests = true; EditorApplication.LockReloadAssemblies(); var testListenerWrapper = new TestListenerWrapper(m_TestStartedEvent, m_TestFinishedEvent); m_RunStep = m_Runner.Run(testListenerWrapper, GetFilter()).GetEnumerator(); m_RunningTests = true; if (!RunningSynchronously) { EditorApplication.update += TestConsumer; } }
public void OnEnable() { if (m_ExecuteOnEnable) { InitRunner(); m_ExecuteOnEnable = false; foreach (var callback in m_CallbackObjects) { AddListeners(callback as ITestRunnerListener); } m_ConstructDelegator = new ConstructDelegator(m_TestRunnerStateSerializer); EnumeratorStepHelper.SetEnumeratorPC(m_CurrentPC); UnityWorkItemDataHolder.alreadyExecutedTests = m_ExecutedTests.Select(x => x.uniqueName).ToList(); UnityWorkItemDataHolder.alreadyStartedTests = m_AlreadyStartedTests; Run(); } }
public void Resume(ITest testTree, RunStartedEvent runStartedEvent, TestStartedEvent testStartedEvent, TestFinishedEvent testFinishedEvent, RunFinishedEvent runFinishedEvent) { if (m_ResumeAfterDomainReload) { m_RunStartedEvent = runStartedEvent; m_TestStartedEvent = testStartedEvent; m_TestFinishedEvent = testFinishedEvent; m_RunFinishedEvent = runFinishedEvent; InitRunner(testTree); m_ResumeAfterDomainReload = false; foreach (var callback in m_CallbackObjects) { AddListeners(callback as ITestRunnerListener); } m_ConstructDelegator = new ConstructDelegator(m_TestRunnerStateSerializer); EnumeratorStepHelper.SetEnumeratorPC(m_CurrentPC); UnityWorkItemDataHolder.alreadyExecutedTests = m_ExecutedTests.Select(x => x.fullName).ToList(); UnityWorkItemDataHolder.alreadyStartedTests = m_AlreadyStartedTests; Run(); } }