public CTATestCaseBuilder(IExtensionHost host, ScreenCapture screenCap) { this.Host = host; this.screenCapture = screenCap; }
public TestMethodExtension(MethodInfo method, ScreenCapture screenCapture) : base(method) { this._screenCapture = screenCapture; }
public TestMethodExtension BuildSingleTestMethod(MethodInfo method, Test parentSuite, ParameterSet parms, ScreenCapture screenCapture, IDictionary properties) { //TODO : Here it doesn't support Async Await Method, BTW, the Async Await just be supported from .net 4.5 TestMethodExtension testMethod = new TestMethodExtension(method, screenCapture); string prefix = method.ReflectedType.FullName; if (parentSuite != null) { testMethod.Properties = properties; prefix = parentSuite.TestName.FullName; testMethod.TestName.FullName = prefix + "." + testMethod.TestName.Name; } if (CheckTestMethodSignature(testMethod, parms)) { if (parms == null) NUnitFramework.ApplyCommonAttributes(method, testMethod); NUnitFramework.ApplyExpectedExceptionAttribute(method, testMethod); } if (parms != null) { method = testMethod.Method; if (parms.TestName != null) { testMethod.TestName.Name = parms.TestName; testMethod.TestName.FullName = prefix + "." + parms.TestName; } else if (parms.OriginalArguments != null) { string name = MethodHelper.GetDisplayName(method, parms.OriginalArguments); testMethod.TestName.Name = name; testMethod.TestName.FullName = prefix + "." + name; } if (parms.Ignored) { testMethod.RunState = RunState.Ignored; testMethod.IgnoreReason = parms.IgnoreReason; } else if (parms.Explicit) { testMethod.RunState = RunState.Explicit; } foreach (string key in parms.Properties.Keys) testMethod.Properties[key] = parms.Properties[key]; if (parms.Description != null) testMethod.Description = parms.Description; } if (parentSuite != null) { if (parentSuite.RunState == RunState.NotRunnable && testMethod.RunState != RunState.NotRunnable) { testMethod.RunState = RunState.NotRunnable; testMethod.IgnoreReason = parentSuite.IgnoreReason; } if (parentSuite.RunState == RunState.Ignored && testMethod.RunState != RunState.Ignored && testMethod.RunState != RunState.NotRunnable) { testMethod.RunState = RunState.Ignored; testMethod.IgnoreReason = parentSuite.IgnoreReason; } } return testMethod; }