【发布时间】:2021-03-19 18:57:09
【问题描述】:
编辑:我添加了 async/await 关键字无济于事。
运行以下单元测试时,
private const string jsonRequest = @"
[
{
""productId"": ""279"",
""price"": ""20.00"",
}
]";
[TestMethod]
public async Task GivenAPostedJsonPayload_ThenCheckIfDataIsBeingSavedOnDatabase()
{
var controller = new MyBelovedController();
var message = new HttpRequestMessage();
var content = new StringContent(jsonRequest);
message.Content = content;
message.Method = HttpMethod.Post;
controller.Request = message;
var response = await controller.PostIncrementalChange();
}
用下面的MyBelovedController,
[HttpPost]
public async Task<IHttpActionResult> PostIncrementalChange()
{
string jsonRequest = await Request.Content.ReadAsStringAsync(); // Debugger gets stuck here.
/* JSON deserialization and database processing take place here. */
return Ok();
}
调试器卡在前面提到的行,并且需要永远进入下一行。
问题:有什么办法让它跑得更快?
规格:
- 我的 Visual Studio 2019 Professional 构建版本是 16.8.5。
- Microsoft .NET Framework 版本 4.8.04084。
- Microsoft Windows 10 版本 2004 构建版本 19041.867。
编辑:我的笔记本电脑在调试解决方案时达到 100% 的 CPU 使用率,这可能是原因吗?
【问题讨论】:
标签: c# unit-testing asp.net-web-api2 nunit