TestBase.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. using Masuit.Tools.AspNetCore.ResumeFileResults.WebTest;
  2. using Microsoft.AspNetCore.Hosting;
  3. using Microsoft.AspNetCore.TestHost;
  4. using System;
  5. using System.IO;
  6. using System.Net.Http;
  7. using System.Net.Http.Headers;
  8. using System.Reflection;
  9. namespace Masuit.Tools.Core.UnitTest.AspNetCore
  10. {
  11. public abstract class TestBase
  12. {
  13. protected TestBase()
  14. {
  15. var path = Path.GetDirectoryName(typeof(Startup).GetTypeInfo().Assembly.Location);
  16. var di = new DirectoryInfo(path).Parent.Parent.Parent;
  17. // Arrange
  18. //var hostBuilder = Host.CreateDefaultBuilder().ConfigureWebHostDefaults(configurationBuilder => configurationBuilder.UseStartup<Startup>().UseContentRoot(di.FullName));
  19. //var host = hostBuilder.Build();
  20. //host.Run();
  21. //todo:.NET Core3.0创建测试服务器
  22. Server = new TestServer(new WebHostBuilder().UseStartup<Startup>());
  23. Client = Server.CreateClient();
  24. }
  25. public HttpClient Client { get; private set; }
  26. public EntityTagHeaderValue EntityTag { get; } = new EntityTagHeaderValue("\"TestFile\"");
  27. public DateTimeOffset LastModified { get; } = new DateTimeOffset(2016, 1, 1, 0, 0, 0, TimeSpan.Zero);
  28. public TestServer Server { get; private set; }
  29. }
  30. }