示例#1
0
 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;
 }
示例#2
0
        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;
 }
示例#6
0
 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;
 }
示例#7
0
 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;
        }