コード例 #1
0
        public Guid StartNewTestRun(string testSuiteName)
        {
            var cancellationTokenSource         = new CancellationTokenSource();
            CancellationToken cancellationToken = cancellationTokenSource.Token;

            ITestRunExecutor executor = _testRunExecutorFactory.GetNewTestRunExecutor(testSuiteName);

            Guid testRunId = Guid.NewGuid();

            _testRunExecutions[testRunId] = new TestRunExecutionDetails
            {
                CancellationTokenSource = cancellationTokenSource,
                Executor = executor
            };

            Task.Factory.StartNew(
                () =>
            {
                cancellationToken.Register(() => executor.CancelTestRun());
                executor.BeginTestRunExecution();
            },
                cancellationToken);

            return(testRunId);
        }
コード例 #2
0
        public TestRunStatus GetTestRunStatus(Guid testRunId)
        {
            if (!_testRunExecutions.ContainsKey(testRunId))
            {
                throw new TestRunNotFoundException($"Test run with id {testRunId} was not found.");
            }

            TestRunExecutionDetails runDetails = _testRunExecutions[testRunId];
            ITestRunExecutor        executor   = runDetails.Executor;

            TestRunStatus status = new TestRunStatus(
                MapRunStatus(executor.Status),
                executor.ElapsedTime);

            return(status);
        }
コード例 #3
0
        public TestRunResults GetTestRunResults(Guid testRunId)
        {
            if (!_testRunExecutions.ContainsKey(testRunId))
            {
                throw new TestRunNotFoundException($"Test run with id {testRunId} was not found.");
            }

            TestRunExecutionDetails runDetails = _testRunExecutions[testRunId];
            ITestRunExecutor        executor   = runDetails.Executor;

            TestRunResults results = new TestRunResults
            {
                TestOutput    = executor.StandardOutput,
                ErrorOutput   = executor.ErrorOutput,
                RunStatus     = MapRunStatus(executor.Status),
                TotalRuntime  = executor.ElapsedTime,
                TestRunId     = testRunId,
                TestSuiteName = executor.TestSuiteName
            };

            return(results);
        }