public TestMetadataExplorer( TestProvider provider, TestIdentifier conventionCheck, UnitTestElementFactory unitTestElementFactory) { this.provider = provider; this.conventionCheck = conventionCheck; this.unitTestElementFactory = unitTestElementFactory; }
private IUnitTestElement GetDynamicCaseElement( Dictionary <RemoteTask, IUnitTestElement> tasks, TestCaseTask caseTask) { var methodElement = tasks.Where(kvp => kvp.Key is TestMethodTask && IsParentMethodTask(kvp.Key as TestMethodTask, caseTask)) .Select(kvp => kvp.Value).FirstOrDefault() as TestMethodElement; if (methodElement == null) { return(null); } using (ReadLockCookie.Create()) { var project = methodElement.GetProject(); if (project == null) { return(null); } var element = UnitTestElementFactory.GetTestCase( project, methodElement, caseTask.MethodName + caseTask.Parameters); // Make sure we return an element, even if the system already knows about it. If it's // part of the test run, it will already have been added in GetTaskSequence, and this // method (GetDynamicElement) doesn't get called. But if you try and run just a single // theory, Fixie will run ALL theories for that method, and will need the elements // for those theories not included in the task sequence. This is necessary because if // one of those theories throws an exception, UnitTestLaunch.TaskException doesn't // have an element to report against, and displays a message box if (element != null) { // If the element is invalid, it's been removed from its parent, so add it back, // and reset the state if (element.State == UnitTestElementState.Invalid) { element.State = UnitTestElementState.Dynamic; element.Parent = methodElement; } return(element); } return(UnitTestElementFactory.CreateTestCase( this, project, methodElement, caseTask.MethodName + caseTask.Parameters)); } }
public TestFileExplorer(TestProvider provider, UnitTestElementFactory unitTestElementFactory, TestIdentifier conventionCheck) { this.provider = provider; this.unitTestElementFactory = unitTestElementFactory; this.conventionCheck = conventionCheck; }
public TestElementSerializer(TestProvider provider, UnitTestElementFactory unitTestElementFactory, ISolution solution) { this.provider = provider; this.unitTestElementFactory = unitTestElementFactory; this.solution = solution; }