Exemple #1
0
            public async Task InitializeAsync()
            {
                var currentProjectDir = Enumerable
                                        .Range(0, 3)
                                        .Aggregate(new DirectoryInfo(CurrentDirectory), (acc, _) => acc.Parent !);
                var integrationProjectDir = Path.Combine(currentProjectDir.FullName, "IntegrationSample");

                var testProcess = Process.Start(new ProcessStartInfo
                {
                    FileName  = "dotnet",
                    Arguments = $"test {integrationProjectDir} --logger \"trx;LogFileName={TestReportFileName}\"",
                    RedirectStandardOutput = true,
                    RedirectStandardError  = true,
                });

                var standardOutput = await testProcess !.StandardOutput.ReadToEndAsync();
                var standardError  = await testProcess !.StandardError.ReadToEndAsync();

                var testReport = File.ReadAllText(TestReportFileName);

                var testResults =
                    from descendent in XElement.Parse(testReport).Descendants()
                    where descendent.Name.LocalName == "UnitTestResult"
                    select ElementToTestResult(descendent);

                TestResults = testResults.ToImmutableList();
            }