1
我有一個ASP.Net核心1.1項目使用ServiceStack核心。我試圖寫一個基本的集成測試,看起來像這樣:與ASPNetCore和ServiceStack集成測試
[TestFixture]
public class BasicStartupTest
{
TestServer Server;
HttpClient Client;
const string BASE_URL = "http://localhost:57893";
[OneTimeSetUp]
public void OneTimeSetup()
{
Server = new TestServer(new WebHostBuilder().UseStartup<Startup>());
Client = Server.CreateClient();
}
[OneTimeTearDown]
public void OneTimeTearDown()
{
Server.Dispose();
}
[Test]
public async Task ShouldHitHealthEndpointAndReturn200()
{
var response = await Client.GetAsync("/health");
response.EnsureSuccessStatusCode();
}
}
問題是,當它試圖從客戶端運行實例的GetAsync功能,我碰到下面的堆棧跟蹤:
Result StackTrace: at ServiceStack.Host.NetCore.NetCoreRequest.get_UserHostAddress() in C:\TeamCity\buildAgent\work\a61371dd01fad6bd\src\ServiceStack\Host\NetCore\NetCoreRequest.cs:line 215
at ServiceStack.HttpRequestExtensions.GetAttributes(IRequest request) in C:\TeamCity\buildAgent\work\a61371dd01fad6bd\src\ServiceStack\HttpRequestExtensions.cs:line 844
at ServiceStack.AppHostBase.ProcessRequest(HttpContext context, Func`1 next) in C:\TeamCity\buildAgent\work\a61371dd01fad6bd\src\ServiceStack\AppHostBase.NetCore.cs:line 113
at Microsoft.AspNetCore.Hosting.Internal.RequestServicesContainerMiddleware.<Invoke>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
它繼續,但是當我嘗試在集成測試中調用端點時,它看起來像ServiceStack中的某個get_UserHostAddress函數存在問題。
如何解決此錯誤?