Esempio n. 1
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));
            }
        }
        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
                );
        }
        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
                );
        }