public ITestRunner Create(StrykerOptions options, ProjectInfo projectInfo) { _logger.LogDebug("Factory is creating testrunner for asked type {0}", options.TestRunner); ITestRunner testRunner = null; // TODO: Make vstest work for dotnet core on non-windows systems. if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows) && options.TestRunner != TestRunner.DotnetTest) { _logger.LogWarning("Using testrunner {0} because OS is not windows. Stryker does not currently support vstest on non-windows OS.", TestRunner.DotnetTest.ToString()); return(new DotnetTestRunner(projectInfo.TestProjectPath, new ProcessExecutor(), new TotalNumberOfTestsParser())); } switch (options.TestRunner) { case TestRunner.DotnetTest: testRunner = new DotnetTestRunner(projectInfo.TestProjectPath, new ProcessExecutor(), new TotalNumberOfTestsParser()); break; case TestRunner.VsTest: testRunner = new VsTestRunnerPool(options, projectInfo); break; default: testRunner = new DotnetTestRunner(projectInfo.TestProjectPath, new ProcessExecutor(), new TotalNumberOfTestsParser()); break; } _logger.LogInformation("Using testrunner {0}", options.TestRunner.ToString()); return(testRunner); }
public ITestRunner Create(IStrykerOptions options, OptimizationFlags flags, ProjectInfo projectInfo) { _logger.LogInformation("Initializing test runners ({0})", options.TestRunner); ITestRunner testRunner; switch (options.TestRunner) { case TestRunner.DotnetTest: default: testRunner = new DotnetTestRunner(projectInfo.ProjectUnderTestAnalyzerResult.ProjectFilePath, new ProcessExecutor(), flags, projectInfo.TestProjectAnalyzerResults.Select(x => x.GetAssemblyPath())); break; case TestRunner.VsTest: testRunner = new VsTestRunnerPool(options, flags, projectInfo); break; } return(testRunner); }
public ITestRunner Create(StrykerOptions options, OptimizationFlags flags, ProjectInfo projectInfo) { Logger.LogDebug("Factory is creating testrunner for asked type {0}", options.TestRunner); ITestRunner testRunner = null; switch (options.TestRunner) { case TestRunner.DotnetTest: default: testRunner = new DotnetTestRunner(options.BasePath, new ProcessExecutor(), new TotalNumberOfTestsParser(), flags); break; case TestRunner.VsTest: testRunner = new VsTestRunnerPool(options, flags, projectInfo); break; } Logger.LogInformation("Using testrunner {0}", options.TestRunner.ToString()); return(testRunner); }
public ITestRunner Create(StrykerOptions options, OptimizationFlags flags, ProjectInfo projectInfo) { _logger.LogDebug("Factory is creating testrunner for asked type {0}", options.TestRunner); ITestRunner testRunner; switch (options.TestRunner) { case TestRunner.DotnetTest: default: testRunner = new DotnetTestRunner(projectInfo.ProjectUnderTestAnalyzerResult.ProjectFilePath, new ProcessExecutor(), flags, projectInfo.TestProjectAnalyzerResults.Select(x => projectInfo.GetTestBinariesPath(x))); break; case TestRunner.VsTest: testRunner = new VsTestRunnerPool(options, flags, projectInfo); break; } _logger.LogInformation("Using testrunner {0}", options.TestRunner.ToString()); return(testRunner); }