MiF*_*vil 2 integration-testing asp.net-web-api flurl asp.net-core
我们在一些项目中使用 FlurlClient 并熟悉它们的流畅界面。我们现在想在使用 TestServer 的 asp.net 核心集成测试中使用它。来自http://asp.net-hacker.rocks/2017/09/27/testing-aspnetcore.html的示例
_server = new TestServer(new WebHostBuilder()
.UseStartup<Startup>());
_client = _server.CreateClient();
Run Code Online (Sandbox Code Playgroud)
我打算将代码更改为
_server = new TestServer(new WebHostBuilder()
.UseStartup<Startup>());
var httpClient = _server.CreateClient();
_client = new FlurlClient(httpClient);
Run Code Online (Sandbox Code Playgroud)
并使用所有 FlurlClient 方法/扩展。
但是后来我注意到 是否可以将 Furl.Http 与 OWIN TestServer 一起使用?其中描述了在 owin 实现中需要做更多的工作。
Asp.Net Core TestServer 的方法是否类似?还是简化了?
它简化了很多,您提出的更改完全正确。您链接到的问题很旧,我的回答包含在 2.x 中不再相关的信息。(我已经更新了它。)事实上,最近才添加了HttpClient直接在FlurlClient构造函数中提供一个存在的能力,并且考虑到了这个特定的用例。
这是我用作替代的扩展方法CreateClient;如果你经常这样做,你可能会发现它很方便:
public static class TestServerExtensions
{
public static IFlurlClient CreateFlurlClient(this TestServer server) =>
new FlurlClient(server.CreateClient());
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
544 次 |
| 最近记录: |