protected override void DoTest(Lifetime lifetime, IProject testProject) { var name = testProject.GetSubItems()[0].Location.Name; var testAssembly = GetVirtualTestDataFilePath(name); var resolve = new AssemblyResolverOnFolders(); resolve.AddPath(testAssembly.Directory); using (WriteLockCookie.Create()) { PrepareBeforeRun(testProject); } var discoveryManager = Solution.GetComponent <IUnitTestDiscoveryManager>(); var assemblyExplorer = Solution.GetComponent <MspecTestExplorerFromArtifacts>(); var source = new UnitTestElementSource(UnitTestElementOrigin.Artifact, new ExplorationTarget( testProject, GetTargetFrameworkId(), new MspecTestProvider())); using (var transaction = discoveryManager.BeginTransaction(source)) { assemblyExplorer.ProcessArtifact(transaction.Observer, lifetime).Wait(lifetime); DumpElements(transaction.Elements, name + ".metadata"); } }
protected void WithDiscovery(Action action) { var project = Substitute.For <IProject>(); var provider = Substitute.For <IUnitTestProvider>(); var target = new ExplorationTarget(project, TargetFrameworkId.Default, provider); var source = new UnitTestElementSource(UnitTestElementOrigin.Source, target); using (DiscoveryContext.As(source)) { action(); } }
private ICollection <IUnitTestElement> GetUnitTestElements(IProject testProject) { var provider = UT.Facade.ProviderCache.GetProviderByProviderId(MspecTestProvider.Id); var source = new UnitTestElementSource(UnitTestElementOrigin.Source, new ExplorationTarget( testProject, GetTargetFrameworkId(), provider)); var discoveryManager = Solution.GetComponent <IUnitTestDiscoveryManager>(); var metadataExplorer = Solution.GetComponent <MspecTestExplorerFromArtifacts>(); using (var transaction = discoveryManager.BeginTransaction(source)) { metadataExplorer.ProcessArtifact(transaction.Observer, CancellationToken.None).Wait(); transaction.Commit(); return(transaction.Elements); } }
protected override void DoTest(Lifetime lifetime, IProject project) { var projectFile = project.GetSubItems().OfType <IProjectFile>().First(); var file = projectFile.GetPrimaryPsiFile(); var discoveryManager = Solution.GetComponent <IUnitTestDiscoveryManager>(); var fileExplorer = Solution.GetComponent <MspecTestExplorerFromFile>(); var source = new UnitTestElementSource(UnitTestElementOrigin.Source, new ExplorationTarget( project, GetTargetFrameworkId(), new MspecTestProvider())); using (var transaction = discoveryManager.BeginTransaction(source)) { var observer = new TestElementObserverOnFile(transaction.Observer); fileExplorer.ProcessFile(file !, observer, InterruptableReadActivity.Empty); DumpElements(transaction.Elements, projectFile.Name + ".source"); } }