From afb92018f07bf81c7be092ce93ae36cf1aca5365 Mon Sep 17 00:00:00 2001 From: "N. Taylor Mullen" Date: Wed, 2 Jan 2019 15:23:50 -0800 Subject: [PATCH] Produce log output for flakey test. - For the flakey test replaced the default logger with Xunit's `ITestOutputHelper` in order to see what's going wrong when the flakey test will eventually fail. aspnet/AspNetCore-Internal#1337 --- .../HtmlGenerationWithCultureTest.cs | 28 ++++++++++++++----- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/src/Mvc/test/Microsoft.AspNetCore.Mvc.FunctionalTests/HtmlGenerationWithCultureTest.cs b/src/Mvc/test/Microsoft.AspNetCore.Mvc.FunctionalTests/HtmlGenerationWithCultureTest.cs index d028f5ec24..d767fbdc12 100644 --- a/src/Mvc/test/Microsoft.AspNetCore.Mvc.FunctionalTests/HtmlGenerationWithCultureTest.cs +++ b/src/Mvc/test/Microsoft.AspNetCore.Mvc.FunctionalTests/HtmlGenerationWithCultureTest.cs @@ -10,19 +10,28 @@ using AngleSharp.Extensions; using AngleSharp.Html; using HtmlGenerationWebSite; using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Mvc.Testing; +using Microsoft.AspNetCore.TestHost; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging.Testing; using Xunit; +using Xunit.Abstractions; using Xunit.Sdk; namespace Microsoft.AspNetCore.Mvc.FunctionalTests { - public class HtmlGenerationWithCultureTest : IClassFixture> + public class HtmlGenerationWithCultureTest : LoggedTest, IClassFixture> { - public HtmlGenerationWithCultureTest(MvcTestFixture fixture) + public HtmlGenerationWithCultureTest( + ITestOutputHelper testOutputHelper, + MvcTestFixture fixture) : base(testOutputHelper) { - var factory = fixture.WithWebHostBuilder(builder => builder.UseStartup()); - Client = factory.CreateDefaultClient(); + Factory = fixture.WithWebHostBuilder(builder => builder.UseStartup()); + Client = Factory.CreateDefaultClient(); } + public WebApplicationFactory Factory { get; } + public HttpClient Client { get; } [Fact] @@ -122,12 +131,17 @@ namespace Microsoft.AspNetCore.Mvc.FunctionalTests public async Task CacheTagHelper_VaryByCultureComposesWithOtherVaryByOptions() { // Arrange + var client = Factory + .WithWebHostBuilder(builder => builder + .UseStartup() + .ConfigureTestServices(services => services.AddSingleton(LoggerFactory))) + .CreateDefaultClient(); string culture; string correlationId; string cachedCorrelationId; // Act - 1 - var document = await Client.GetHtmlDocumentAsync("/CacheTagHelper_VaryByCulture?culture=fr-Fr&correlationId=10"); + var document = await client.GetHtmlDocumentAsync("/CacheTagHelper_VaryByCulture?culture=fr-Fr&correlationId=10"); ReadValuesFromDocument(); // Assert - 1 @@ -136,7 +150,7 @@ namespace Microsoft.AspNetCore.Mvc.FunctionalTests Assert.Equal("10", cachedCorrelationId); // Act - 2 - document = await Client.GetHtmlDocumentAsync("/CacheTagHelper_VaryByCulture?culture=fr-Fr&correlationId=11&varyByQueryKey=new-key"); + document = await client.GetHtmlDocumentAsync("/CacheTagHelper_VaryByCulture?culture=fr-Fr&correlationId=11&varyByQueryKey=new-key"); ReadValuesFromDocument(); // Assert - 2 @@ -146,7 +160,7 @@ namespace Microsoft.AspNetCore.Mvc.FunctionalTests Assert.Equal("11", cachedCorrelationId); // Act - 3 - document = await Client.GetHtmlDocumentAsync("/CacheTagHelper_VaryByCulture?culture=fr-Fr&correlationId=14"); + document = await client.GetHtmlDocumentAsync("/CacheTagHelper_VaryByCulture?culture=fr-Fr&correlationId=14"); ReadValuesFromDocument(); // Assert - 3