asp.net-web-api - 我可以将 FlurlClient 与 Asp.Net Core TestServer 一起使用吗?
问题描述
我们在几个项目中使用 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();
我打算将代码更改为
_server = new TestServer(new WebHostBuilder()
.UseStartup<Startup>());
var httpClient = _server.CreateClient();
_client = new FlurlClient(httpClient);
并使用所有 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());
}
推荐阅读
- python - Python 诗歌 - 如何安装可选依赖项?
- javascript - 用于 javascript 的 VS Code Intellisense 不提供建议?
- wordpress - 当 /var/www/html 已经安装在主机中时,如何使用带有 wp-cli 容器的 wordpress 容器?
- javascript - 如何在 TypeScript 中正确键入“省略”函数以避免错误消息?
- javascript - 如何使用 unirest setState 做出反应
- android - 远程设备上的 Google Chrome 检查器无法正常工作
- php - php从网页解析字符串
- reactjs - Jenkins构建脚本编译成功但找不到生成的构建目录
- java - 如何在 java 中使用 Oauth Graph Service Client api 检索 office 365 邮件文件(如图像、文本文件等)附件?
- php - 为什么它只显示变量“voornaam”的值?