ResultsSavingCallbacks.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using System;
  2. using System.IO;
  3. using UnityEditor.TestTools.TestRunner.Api;
  4. using UnityEditor.Utils;
  5. using UnityEngine;
  6. namespace UnityEditor.TestTools.TestRunner.CommandLineTest
  7. {
  8. [Serializable]
  9. internal class ResultsSavingCallbacks : ScriptableObject, ICallbacks
  10. {
  11. [SerializeField]
  12. public string m_ResultFilePath;
  13. public ResultsSavingCallbacks()
  14. {
  15. this.m_ResultFilePath = GetDefaultResultFilePath();
  16. }
  17. public void RunStarted(ITestAdaptor testsToRun)
  18. {
  19. }
  20. public virtual void RunFinished(ITestResultAdaptor testResults)
  21. {
  22. if (string.IsNullOrEmpty(m_ResultFilePath))
  23. {
  24. m_ResultFilePath = GetDefaultResultFilePath();
  25. }
  26. var resultWriter = new ResultsWriter();
  27. resultWriter.WriteResultToFile(testResults, m_ResultFilePath);
  28. }
  29. public void TestStarted(ITestAdaptor test)
  30. {
  31. }
  32. public void TestFinished(ITestResultAdaptor result)
  33. {
  34. }
  35. private static string GetDefaultResultFilePath()
  36. {
  37. var fileName = "TestResults-" + DateTime.Now.Ticks + ".xml";
  38. var projectPath = Directory.GetCurrentDirectory();
  39. return Paths.Combine(projectPath, fileName);
  40. }
  41. }
  42. }