Exemplo n.º 1
0
        public void SetupPersistentListeners(object runner)
        {
            UnityEventTools.AddPersistentListener((UnityEvent <ITest>)runner.GetType().GetField("testStartedEvent",
                                                                                                BindingFlags.NonPublic | BindingFlags.Instance).GetValue(runner), new UnityAction <ITest>(test =>
            {
                if (!(test is TestMethod))
                {
                    return;
                }
                ourLogger.Verbose("TestStarted : {0}", test.FullName);
                var internalEvent = new TestInternalEvent(TestEventsSender.GetIdFromNUnitTest(test), test.Method.TypeInfo.Assembly.GetName().Name, "", 0, Status.Running, TestEventsSender.GetIdFromNUnitTest(test.Parent));
                TestEventReceived(new TestEvent(EventType.TestStarted, internalEvent));
            })
                                                  );
            UnityEventTools.AddPersistentListener((UnityEvent <ITestResult>)runner.GetType().GetField("testFinishedEvent",
                                                                                                      BindingFlags.NonPublic | BindingFlags.Instance).GetValue(runner), new UnityAction <ITestResult>(result =>
            {
                if (!(result.Test is TestMethod))
                {
                    return;
                }

                var internalEvent = TestEventsSender.GetTestResult(result);
                TestEventReceived(new TestEvent(EventType.TestFinished, internalEvent));
            }));
            UnityEventTools.AddPersistentListener((UnityEvent <ITestResult>)runner.GetType().GetField("runFinishedEvent",
                                                                                                      BindingFlags.NonPublic | BindingFlags.Instance).GetValue(runner),
                                                  new UnityAction <ITestResult>(result =>
            {
                var internalEvent = new TestInternalEvent("", "", "", 0, Status.Success, "");
                TestEventReceived(new TestEvent(EventType.RunFinished, internalEvent));
            }));
        }
Exemplo n.º 2
0
 public TestEvent(EventType type, TestInternalEvent tEvent)
 {
     myType = type;
     Event  = tEvent;
 }
Exemplo n.º 3
0
 internal static TestResult GetTestResult(TestInternalEvent tEvent)
 {
     return(new TestResult(tEvent.myID, tEvent.myAssemblyName, tEvent.myOutput, tEvent.myDuration, tEvent.myStatus, tEvent.myParentID));
 }