diff --git a/src/Mvc/test/Mvc.FunctionalTests/ErrorPageTests.cs b/src/Mvc/test/Mvc.FunctionalTests/ErrorPageTests.cs index 31a74644b1..3c1bd896f3 100644 --- a/src/Mvc/test/Mvc.FunctionalTests/ErrorPageTests.cs +++ b/src/Mvc/test/Mvc.FunctionalTests/ErrorPageTests.cs @@ -1,26 +1,44 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; +using System.Linq; using System.Net; using System.Net.Http; using System.Net.Http.Headers; using System.Text.Encodings.Web; using System.Threading.Tasks; +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Testing; using Xunit; +using Xunit.Abstractions; namespace Microsoft.AspNetCore.Mvc.FunctionalTests { /// /// Functional test to verify the error reporting of Razor compilation by diagnostic middleware. /// - public class ErrorPageTests : IClassFixture> + public class ErrorPageTests : IClassFixture>, IDisposable { private static readonly string PreserveCompilationContextMessage = HtmlEncoder.Default.Encode( "One or more compilation references may be missing. " + "If you're seeing this in a published application, set 'CopyRefAssembliesToPublishDirectory' to true in your project file to ensure files in the refs directory are published."); - public ErrorPageTests(MvcTestFixture fixture) + private readonly AssemblyTestLog _assemblyTestLog; + + public ErrorPageTests( + MvcTestFixture fixture, + ITestOutputHelper testOutputHelper) { - Client = fixture.CreateDefaultClient(); + _assemblyTestLog = AssemblyTestLog.ForAssembly(GetType().Assembly); + + var loggerProvider = _assemblyTestLog.CreateLoggerFactory(testOutputHelper, GetType().Name); + + var factory = fixture.Factories.FirstOrDefault() ?? fixture.WithWebHostBuilder(b => b.UseStartup()); + Client = factory + .WithWebHostBuilder(builder => builder.ConfigureLogging(l => l.Services.AddSingleton(loggerProvider))) + .CreateDefaultClient(); } public HttpClient Client { get; } @@ -143,5 +161,10 @@ namespace Microsoft.AspNetCore.Mvc.FunctionalTests Assert.Contains(nullReferenceException, content); Assert.Contains(indexOutOfRangeException, content); } + + public void Dispose() + { + _assemblyTestLog.Dispose(); + } } } diff --git a/src/Mvc/test/Mvc.FunctionalTests/Microsoft.AspNetCore.Mvc.FunctionalTests.csproj b/src/Mvc/test/Mvc.FunctionalTests/Microsoft.AspNetCore.Mvc.FunctionalTests.csproj index 4b25233266..a8b3348f8a 100644 --- a/src/Mvc/test/Mvc.FunctionalTests/Microsoft.AspNetCore.Mvc.FunctionalTests.csproj +++ b/src/Mvc/test/Mvc.FunctionalTests/Microsoft.AspNetCore.Mvc.FunctionalTests.csproj @@ -1,4 +1,4 @@ - + @@ -6,6 +6,7 @@ $(DefineConstants);GENERATE_BASELINES $(DefineConstants);__RemoveThisBitTo__GENERATE_BASELINES + Mvc.FunctionalTests diff --git a/src/Razor/Razor.Design/test/IntegrationTests/Microsoft.AspNetCore.Razor.Design.Test.csproj b/src/Razor/Razor.Design/test/IntegrationTests/Microsoft.AspNetCore.Razor.Design.Test.csproj index 46cc2d0413..b3a1b05d79 100644 --- a/src/Razor/Razor.Design/test/IntegrationTests/Microsoft.AspNetCore.Razor.Design.Test.csproj +++ b/src/Razor/Razor.Design/test/IntegrationTests/Microsoft.AspNetCore.Razor.Design.Test.csproj @@ -69,4 +69,8 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests + + + + diff --git a/src/Razor/Razor.Design/test/testassets/ClassLibrary/ClassLibrary.csproj b/src/Razor/Razor.Design/test/testassets/ClassLibrary/ClassLibrary.csproj index 617cbaf652..1e32872964 100644 --- a/src/Razor/Razor.Design/test/testassets/ClassLibrary/ClassLibrary.csproj +++ b/src/Razor/Razor.Design/test/testassets/ClassLibrary/ClassLibrary.csproj @@ -30,7 +30,6 @@ - diff --git a/src/Razor/Razor.Design/test/testassets/ClassLibrary2/ClassLibrary2.csproj b/src/Razor/Razor.Design/test/testassets/ClassLibrary2/ClassLibrary2.csproj index fd800f30ca..f4ecbb2fb0 100644 --- a/src/Razor/Razor.Design/test/testassets/ClassLibrary2/ClassLibrary2.csproj +++ b/src/Razor/Razor.Design/test/testassets/ClassLibrary2/ClassLibrary2.csproj @@ -29,7 +29,6 @@ - diff --git a/src/Razor/Razor.Design/test/testassets/RestoreTestProjects/RestoreTestProjects.csproj b/src/Razor/Razor.Design/test/testassets/RestoreTestProjects/RestoreTestProjects.csproj new file mode 100644 index 0000000000..74855e01e6 --- /dev/null +++ b/src/Razor/Razor.Design/test/testassets/RestoreTestProjects/RestoreTestProjects.csproj @@ -0,0 +1,16 @@ + + + netcoreapp2.2 + + + + + + + + + + + + +