public TestRunner(IProcessHelper process, ITestCaseStreamReaderFactory testCaseStreamReaderFactory, IFileProbe fileProbe, IBatchCompilerService batchCompilerService, ITestHarnessBuilder testHarnessBuilder, ITestContextBuilder htmlTestFileCreator, IChutzpahTestSettingsService testSettingsService, ITransformProcessor transformProcessor, IChutzpahWebServerFactory webServerFactory, IUrlBuilder urlBuilder, IList <ITestExecutionProvider> testExecutionProviders) { this.urlBuilder = urlBuilder; this.process = process; this.testCaseStreamReaderFactory = testCaseStreamReaderFactory; this.fileProbe = fileProbe; this.batchCompilerService = batchCompilerService; this.testHarnessBuilder = testHarnessBuilder; stopWatch = new Stopwatch(); testContextBuilder = htmlTestFileCreator; this.testSettingsService = testSettingsService; this.transformProcessor = transformProcessor; this.webServerFactory = webServerFactory; this.testExecutionProviders = testExecutionProviders; }
public ChutzpahTestContainerDiscoverer(IServiceProvider serviceProvider, IChutzpahSettingsMapper settingsMapper, ILogger logger, ISolutionEventsListener solutionListener, ITestFilesUpdateWatcher testFilesUpdateWatcher, ITestFileAddRemoveListener testFilesAddRemoveListener, ITestRunner testRunner, IFileProbe fileProbe, IChutzpahTestSettingsService chutzpahTestSettingsService) { initialContainerSearch = true; cachedContainers = new ConcurrentDictionary <string, ITestContainer>(StringComparer.OrdinalIgnoreCase); this.serviceProvider = serviceProvider; this.settingsMapper = settingsMapper; this.logger = logger; this.testRunner = testRunner; this.fileProbe = fileProbe; this.chutzpahTestSettingsService = chutzpahTestSettingsService; this.solutionListener = solutionListener; this.testFilesUpdateWatcher = testFilesUpdateWatcher; this.testFilesAddRemoveListener = testFilesAddRemoveListener; this.testFilesAddRemoveListener.TestFileChanged += OnProjectItemChanged; this.testFilesAddRemoveListener.StartListeningForTestFileChanges(); this.solutionListener.SolutionUnloaded += SolutionListenerOnSolutionUnloaded; this.solutionListener.SolutionProjectChanged += OnSolutionProjectChanged; this.solutionListener.StartListeningForChanges(); this.testFilesUpdateWatcher.FileChangedEvent += OnProjectItemChanged; }
/// <summary> /// Initialization of the package; this method is called right after the package is sited, so this is the place /// where you can put all the initilaization code that rely on services provided by VisualStudio. /// </summary> protected override void Initialize() { Trace.WriteLine(string.Format(CultureInfo.CurrentCulture, "Entering Initialize() of: {0}", ToString())); base.Initialize(); dte = (DTE2)GetService(typeof(DTE)); if (dte == null) { //if dte is null then we throw a excpetion //this is a fatal error throw new ArgumentNullException("dte"); } testRunner = TestRunner.Create(); chutzpahSettingsService = ChutzpahContainer.Get <IChutzpahTestSettingsService>(); processHelper = new ProcessHelper(); Logger = new Logger(this); Settings = GetDialogPage(typeof(ChutzpahSettings)) as ChutzpahSettings; statusBar = GetService(typeof(SVsStatusbar)) as IVsStatusbar; runnerCallback = new ParallelRunnerCallbackAdapter(new VisualStudioRunnerCallback(dte, statusBar)); // Add our command handlers for menu (commands must exist in the .vsct file) var mcs = GetService(typeof(IMenuCommandService)) as OleMenuCommandService; if (null != mcs) { // Command - Run JS Tests var runJsTestsCmd = new CommandID(GuidList.guidChutzpahCmdSet, (int)PkgCmdIDList.cmdidRunJSTests); var runJsTestMenuCmd = new OleMenuCommand(RunJSTestCmdCallback, runJsTestsCmd); runJsTestMenuCmd.BeforeQueryStatus += RunJSTestsCmdQueryStatus; mcs.AddCommand(runJsTestMenuCmd); // Command - Run JS tests in browser var runJsTestsInBrowserCmd = new CommandID(GuidList.guidChutzpahCmdSet, (int)PkgCmdIDList.cmdidRunInBrowser); var runJsTestInBrowserMenuCmd = new OleMenuCommand(RunJSTestInBrowserCmdCallback, runJsTestsInBrowserCmd); runJsTestInBrowserMenuCmd.BeforeQueryStatus += RunJSTestsInBrowserCmdQueryStatus; mcs.AddCommand(runJsTestInBrowserMenuCmd); // Command - Run JS tests in browser var runJsTestCodeCoverageCmd = new CommandID(GuidList.guidChutzpahCmdSet, (int)PkgCmdIDList.cmdidRunCodeCoverage); var runJsTestCodeCoverageMenuCmd = new OleMenuCommand(RunCodeCoverageCmdCallback, runJsTestCodeCoverageCmd); runJsTestCodeCoverageMenuCmd.BeforeQueryStatus += RunCodeCoverageCmdQueryStatus; mcs.AddCommand(runJsTestCodeCoverageMenuCmd); } }
public TestContextBuilder( IFileSystemWrapper fileSystem, IReferenceProcessor referenceProcessor, IHttpWrapper httpWrapper, IFileProbe fileProbe, ICoverageEngineFactory coverageEngineFactory, IEnumerable <IFrameworkDefinition> frameworkDefinitions, IChutzpahTestSettingsService settingsService) { this.referenceProcessor = referenceProcessor; this.httpClient = httpWrapper; this.fileSystem = fileSystem; this.fileProbe = fileProbe; this.frameworkDefinitions = frameworkDefinitions; this.settingsService = settingsService; this.coverageEngineFactory = coverageEngineFactory; }
public TestContextBuilder( IFileSystemWrapper fileSystem, IReferenceProcessor referenceProcessor, IHttpWrapper httpWrapper, IFileProbe fileProbe, ICoverageEngineFactory coverageEngineFactory, IEnumerable<IFrameworkDefinition> frameworkDefinitions, IChutzpahTestSettingsService settingsService) { this.referenceProcessor = referenceProcessor; this.httpClient = httpWrapper; this.fileSystem = fileSystem; this.fileProbe = fileProbe; this.frameworkDefinitions = frameworkDefinitions; this.settingsService = settingsService; this.coverageEngineFactory = coverageEngineFactory; }
public TestRunner(IProcessHelper process, ITestCaseStreamReaderFactory testCaseStreamReaderFactory, IFileProbe fileProbe, IBatchCompilerService batchCompilerService, ITestHarnessBuilder testHarnessBuilder, ITestContextBuilder htmlTestFileCreator, ICompilerCache compilerCache, IChutzpahTestSettingsService testSettingsService) { this.process = process; this.testCaseStreamReaderFactory = testCaseStreamReaderFactory; this.fileProbe = fileProbe; this.batchCompilerService = batchCompilerService; this.testHarnessBuilder = testHarnessBuilder; stopWatch = new Stopwatch(); testContextBuilder = htmlTestFileCreator; this.compilerCache = compilerCache; this.testSettingsService = testSettingsService; }
public TestRunner(IProcessHelper process, ITestCaseStreamReaderFactory testCaseStreamReaderFactory, IFileProbe fileProbe, IBatchCompilerService batchCompilerService, ITestHarnessBuilder testHarnessBuilder, ITestContextBuilder htmlTestFileCreator, IChutzpahTestSettingsService testSettingsService, ITransformProcessor transformProcessor) { this.process = process; this.testCaseStreamReaderFactory = testCaseStreamReaderFactory; this.fileProbe = fileProbe; this.batchCompilerService = batchCompilerService; this.testHarnessBuilder = testHarnessBuilder; stopWatch = new Stopwatch(); testContextBuilder = htmlTestFileCreator; this.testSettingsService = testSettingsService; this.transformProcessor = transformProcessor; }
public ChutzpahTestContainerDiscoverer(IServiceProvider serviceProvider, IChutzpahSettingsMapper settingsMapper, ILogger logger, ISolutionEventsListener solutionListener, ITestFilesUpdateWatcher testFilesUpdateWatcher, ITestFileAddRemoveListener testFilesAddRemoveListener, ITestRunner testRunner, IFileProbe fileProbe, IChutzpahTestSettingsService chutzpahTestSettingsService) { initialContainerSearch = true; cachedContainers = new ConcurrentDictionary<string, ITestContainer>(StringComparer.OrdinalIgnoreCase); this.serviceProvider = serviceProvider; this.settingsMapper = settingsMapper; this.logger = logger; this.testRunner = testRunner; this.fileProbe = fileProbe; this.chutzpahTestSettingsService = chutzpahTestSettingsService; this.solutionListener = solutionListener; this.testFilesUpdateWatcher = testFilesUpdateWatcher; this.testFilesAddRemoveListener = testFilesAddRemoveListener; this.testFilesAddRemoveListener.TestFileChanged += OnProjectItemChanged; this.testFilesAddRemoveListener.StartListeningForTestFileChanges(); this.solutionListener.SolutionUnloaded += SolutionListenerOnSolutionUnloaded; this.solutionListener.SolutionProjectChanged += OnSolutionProjectChanged; this.solutionListener.StartListeningForChanges(); this.testFilesUpdateWatcher.FileChangedEvent += OnProjectItemChanged; }