Best Vstest code snippet using Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client.InProcessProxyExecutionManager.Initialize
InProcessProxyexecutionManagerTests.cs
Source:InProcessProxyexecutionManagerTests.cs  
...39            this.inProcessProxyExecutionManager = null;40            this.mockTestHostManager = null;41        }42        [TestMethod]43        public void StartTestRunShouldCallInitialize()44        {45            var testRunCriteria = new TestRunCriteria(new List<string> { "source.dll" }, 10);46            var mockTestMessageEventHandler = new Mock<ITestMessageEventHandler>();47            this.inProcessProxyExecutionManager.StartTestRun(testRunCriteria, null);48            this.mockExecutionManager.Verify(o => o.Initialize(Enumerable.Empty<string>(), It.IsAny<ITestMessageEventHandler>()), Times.Once, "StartTestRun should call Initialize if not already initialized");49        }50        [TestMethod]51        public void StartTestRunShouldUpdateTestPlauginCacheWithExtensionsReturnByTestHost()52        {53            var path = Path.Combine(Path.GetTempPath(), "dummy.dll");54            this.mockTestHostManager.Setup(o => o.GetTestPlatformExtensions(It.IsAny<IEnumerable<string>>(), It.IsAny<IEnumerable<string>>())).Returns(new List<string> { path });55            var expectedResult = TestPluginCache.Instance.GetExtensionPaths(string.Empty);56            expectedResult.Add(path);57            var testRunCriteria = new TestRunCriteria(new List<string> { "source.dll" }, 10);58            this.inProcessProxyExecutionManager.StartTestRun(testRunCriteria, null);59            CollectionAssert.AreEquivalent(expectedResult, TestPluginCache.Instance.GetExtensionPaths(string.Empty));60        }61        [TestMethod]62        public void StartTestRunShouldCallExecutionManagerStartTestRunWithAdapterSourceMap()...InProcessProxyexecutionManager.cs
Source:InProcessProxyexecutionManager.cs  
...20    {21        private ITestHostManagerFactory testHostManagerFactory;22        private IExecutionManager executionManager;23        private ITestRuntimeProvider testHostManager;24        public bool IsInitialized { get; private set; } = false;25        /// <summary>26        /// Initializes a new instance of the <see cref="InProcessProxyexecutionManager"/> class.27        /// </summary>28        /// <param name="testHostManager">29        /// The test Host Manager.30        /// </param>31        /// <param name="testHostManagerFactory">32        /// Manager factory33        /// </param>34        public InProcessProxyExecutionManager(ITestRuntimeProvider testHostManager, ITestHostManagerFactory testHostManagerFactory)35        {36            this.testHostManager = testHostManager;37            this.testHostManagerFactory = testHostManagerFactory;38            this.executionManager = this.testHostManagerFactory.GetExecutionManager();39        }40        /// <summary>41        /// Initialize adapters.42        /// </summary>43        public void Initialize()44        {45        }46        /// <inheritdoc/>47        public int StartTestRun(TestRunCriteria testRunCriteria, ITestRunEventsHandler eventHandler)48        {49            try50            {51                var runConfiguration = XmlRunSettingsUtilities.GetRunConfigurationNode(testRunCriteria.TestRunSettings);52                var testPackages = new List<string>(testRunCriteria.HasSpecificSources ? testRunCriteria.Sources :53                                                    // If the test execution is with a test filter, group them by sources54                                                    testRunCriteria.Tests.GroupBy(tc => tc.Source).Select(g => g.Key));55                // This code should be in sync with ProxyExecutionManager.StartTestRun executionContext56                var executionContext = new TestExecutionContext(57                            testRunCriteria.FrequencyOfRunStatsChangeEvent,58                            testRunCriteria.RunStatsChangeEventTimeout,59                            inIsolation: runConfiguration.InIsolation,60                            keepAlive: testRunCriteria.KeepAlive,61                            isDataCollectionEnabled: false,62                            areTestCaseLevelEventsRequired: false,63                            hasTestRun: true,64                            isDebug: (testRunCriteria.TestHostLauncher != null && testRunCriteria.TestHostLauncher.IsDebug),65                            testCaseFilter: testRunCriteria.TestCaseFilter,66                            filterOptions: testRunCriteria.FilterOptions);67                // Initialize extension before execution68                this.InitializeExtensions(testPackages);69                if (testRunCriteria.HasSpecificSources)70                {71                    var runRequest = testRunCriteria.CreateTestRunCriteriaForSources(testHostManager, testRunCriteria.TestRunSettings, executionContext, testPackages);72                    Task.Run(() => executionManager.StartTestRun(runRequest.AdapterSourceMap, runRequest.Package,73                        runRequest.RunSettings, runRequest.TestExecutionContext, null, eventHandler));74                }75                else76                {77                    var runRequest = testRunCriteria.CreateTestRunCriteriaForTests(testHostManager, testRunCriteria.TestRunSettings, executionContext, testPackages);78                    Task.Run(() => executionManager.StartTestRun(runRequest.Tests, runRequest.Package,79                        runRequest.RunSettings, runRequest.TestExecutionContext, null, eventHandler));80                }81            }82            catch (Exception exception)83            {84                EqtTrace.Error("InProcessProxyexecutionManager.StartTestRun: Failed to start test run: {0}", exception);85                // Send exception message.86                eventHandler.HandleLogMessage(TestMessageLevel.Error, exception.ToString());87                // Send a run complete to caller.88                var completeArgs = new TestRunCompleteEventArgs(null, false, true, exception, new Collection<AttachmentSet>(), TimeSpan.Zero);89                eventHandler.HandleTestRunComplete(completeArgs, null, null, null);90            }91            return 0;92        }93        /// <summary>94        /// Aborts the test operation.95        /// </summary>96        public void Abort()97        {98            Task.Run(() => this.testHostManagerFactory.GetExecutionManager().Abort());99        }100        /// <summary>101        /// Cancels the test run.102        /// </summary>103        public void Cancel()104        {105            Task.Run(() => this.testHostManagerFactory.GetExecutionManager().Cancel());106        }107        /// <summary>108        /// Closes the current test operation.109        /// This function is of no use in this context as we are not creating any testhost110        /// </summary>111        public void Close()112        {113        }114        private void InitializeExtensions(IEnumerable<string> sources)115        {116            var extensionsFromSource = this.testHostManager.GetTestPlatformExtensions(sources, Enumerable.Empty<string>());117            if (extensionsFromSource.Any())118            {119                TestPluginCache.Instance.UpdateExtensions(extensionsFromSource, false);120            }121            // We don't need to pass list of extension as we are running inside vstest.console and122            // it will use TestPluginCache of vstest.console123            executionManager.Initialize(Enumerable.Empty<string>());124        }125    }126}...Initialize
Using AI Code Generation
1using System;2using System.Collections.Generic;3using System.Linq;4using System.Text;5using System.Threading.Tasks;6using Microsoft.VisualStudio.TestPlatform.Common;7using Microsoft.VisualStudio.TestPlatform.Common.Interfaces;8using Microsoft.VisualStudio.TestPlatform.Common.Logging;9using Microsoft.VisualStudio.TestPlatform.Common.Telemetry;10using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;11using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.Interfaces;12using Microsoft.VisualStudio.TestPlatform.CoreUtilities.Helpers;13using Microsoft.VisualStudio.TestPlatform.CoreUtilities.Tracing.Interfaces;14using Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client;15using Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.DataCollection;16using Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution;17using Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Helpers;18using Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Resources;19using Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Testhost;20using Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Utilities;21using Microsoft.VisualStudio.TestPlatform.ObjectModel;22using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;23using Microsoft.VisualStudio.TestPlatform.ObjectModel.Engine;24using Microsoft.VisualStudio.TestPlatform.ObjectModel.Host;25using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
