コード例 #1
0
 private async Task DiscoverSourcesAsync(
     IEnumerable <string> sources,
     IMessageLogger logger,
     ITestCaseDiscoverySink discoverySink,
     SimpleTestDiscoverer testDiscoverer,
     TestConverter testConverter
     )
 => await Task.WhenAll(sources.Select(
                           source => this.DiscoverAssemblyTestsAsync(
                               source, logger, discoverySink, testDiscoverer, testConverter
                               )
                           ));
コード例 #2
0
        private async Task DiscoverAssemblyTestsAsync(
            string assemblyPath,
            IMessageLogger logger,
            ITestCaseDiscoverySink discoverySink,
            SimpleTestDiscoverer testDiscoverer,
            TestConverter testConverter
            )
        {
            var assemblyName = AssemblyLoadContext.GetAssemblyName(assemblyPath);
            var assembly     = AssemblyLoadContext.Default.LoadFromAssemblyName(assemblyName);

            foreach (var test in await testDiscoverer.GetTests(assembly))
            {
                discoverySink.SendTestCase(testConverter.Convert(assemblyPath, test));
            }
        }
コード例 #3
0
 private async Task RunTestsAsync(
     IEnumerable <string> sources,
     IFrameworkHandle frameworkHandle,
     SimpleTestDiscoverer testDiscoverer,
     SimpleTestExecutor testExecutor,
     TestResultConverter testResultConverter
     )
 => await Task.WhenAll(sources.Select(
                           source => this.RunAssemblyTestsAsync(
                               source,
                               frameworkHandle,
                               testDiscoverer,
                               testExecutor,
                               testResultConverter
                               )
                           ));
コード例 #4
0
        private async Task RunAssemblyTestsAsync(
            string assemblyPath,
            IFrameworkHandle frameworkHandle,
            SimpleTestDiscoverer testDiscoverer,
            SimpleTestExecutor testExecutor,
            TestResultConverter testResultConverter
            )
        {
            var assemblyName = AssemblyLoadContext.GetAssemblyName(assemblyPath);
            var assembly     = AssemblyLoadContext.Default.LoadFromAssemblyName(assemblyName);

            var tests = await testDiscoverer.GetTests(assembly);

            await this.RunTestsAsync(
                assemblyPath,
                tests,
                frameworkHandle,
                testExecutor,
                testResultConverter
                );
        }
コード例 #5
0
 private async Task RunTestsAsync(
     IEnumerable <TestCase> testCases,
     IFrameworkHandle frameworkHandle,
     SimpleTestDiscoverer testDiscoverer,
     SimpleTestExecutor testExecutor,
     TestResultConverter testResultConverter
     )
 => await Task.WhenAll(
     testCases
     .Select(testCase => testCase.Source)
     .Select(
         source => this.RunAssemblyTestsAsync(
             source,
             testCases.Where(testCase => testCase.Source == source),
             frameworkHandle,
             testDiscoverer,
             testExecutor,
             testResultConverter
             )
         )
     );
コード例 #6
0
        private async Task RunAssemblyTestsAsync(
            string assemblyPath,
            IEnumerable <TestCase> testCases,
            IFrameworkHandle frameworkHandle,
            SimpleTestDiscoverer testDiscoverer,
            SimpleTestExecutor testExecutor,
            TestResultConverter testResultConverter
            )
        {
            var assemblyName = AssemblyLoadContext.GetAssemblyName(assemblyPath);
            var assembly     = AssemblyLoadContext.Default.LoadFromAssemblyName(assemblyName);

            var tests = await testDiscoverer.GetTests(assembly);

            tests = tests.Where(test => testCases.Any(testCase => testCase.FullyQualifiedName == test.FullyQualifiedName));

            await this.RunTestsAsync(
                assemblyPath,
                tests,
                frameworkHandle,
                testExecutor,
                testResultConverter
                );
        }