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
This commit is contained in:
N. Taylor Mullen 2019-01-02 15:23:50 -08:00
parent 0ae6cc8e88
commit afb92018f0
1 changed files with 21 additions and 7 deletions

View File

@ -10,19 +10,28 @@ using AngleSharp.Extensions;
using AngleSharp.Html; using AngleSharp.Html;
using HtmlGenerationWebSite; using HtmlGenerationWebSite;
using Microsoft.AspNetCore.Hosting; 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;
using Xunit.Abstractions;
using Xunit.Sdk; using Xunit.Sdk;
namespace Microsoft.AspNetCore.Mvc.FunctionalTests namespace Microsoft.AspNetCore.Mvc.FunctionalTests
{ {
public class HtmlGenerationWithCultureTest : IClassFixture<MvcTestFixture<StartupWithCultureReplace>> public class HtmlGenerationWithCultureTest : LoggedTest, IClassFixture<MvcTestFixture<StartupWithCultureReplace>>
{ {
public HtmlGenerationWithCultureTest(MvcTestFixture<StartupWithCultureReplace> fixture) public HtmlGenerationWithCultureTest(
ITestOutputHelper testOutputHelper,
MvcTestFixture<StartupWithCultureReplace> fixture) : base(testOutputHelper)
{ {
var factory = fixture.WithWebHostBuilder(builder => builder.UseStartup<StartupWithCultureReplace>()); Factory = fixture.WithWebHostBuilder(builder => builder.UseStartup<StartupWithCultureReplace>());
Client = factory.CreateDefaultClient(); Client = Factory.CreateDefaultClient();
} }
public WebApplicationFactory<StartupWithCultureReplace> Factory { get; }
public HttpClient Client { get; } public HttpClient Client { get; }
[Fact] [Fact]
@ -122,12 +131,17 @@ namespace Microsoft.AspNetCore.Mvc.FunctionalTests
public async Task CacheTagHelper_VaryByCultureComposesWithOtherVaryByOptions() public async Task CacheTagHelper_VaryByCultureComposesWithOtherVaryByOptions()
{ {
// Arrange // Arrange
var client = Factory
.WithWebHostBuilder(builder => builder
.UseStartup<StartupWithCultureReplace>()
.ConfigureTestServices(services => services.AddSingleton(LoggerFactory)))
.CreateDefaultClient();
string culture; string culture;
string correlationId; string correlationId;
string cachedCorrelationId; string cachedCorrelationId;
// Act - 1 // 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(); ReadValuesFromDocument();
// Assert - 1 // Assert - 1
@ -136,7 +150,7 @@ namespace Microsoft.AspNetCore.Mvc.FunctionalTests
Assert.Equal("10", cachedCorrelationId); Assert.Equal("10", cachedCorrelationId);
// Act - 2 // 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(); ReadValuesFromDocument();
// Assert - 2 // Assert - 2
@ -146,7 +160,7 @@ namespace Microsoft.AspNetCore.Mvc.FunctionalTests
Assert.Equal("11", cachedCorrelationId); Assert.Equal("11", cachedCorrelationId);
// Act - 3 // 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(); ReadValuesFromDocument();
// Assert - 3 // Assert - 3