非同期データ アクセス コードを使用する mvc 5 コントローラーがあります。nUnit を使用して簡単なテストを作成しました。テストは完了しません。キャンセルするまで回転します。私はテストを正しく設定しました。コントローラーアクションが非同期としてマークされ、タスクを返すのを待っています。何か不足していますか?興味深いことに、moq を使用して依存関係をモックアウトするとテストは機能しますが、実際の依存関係を配置して統合テストを行うと、永遠にスピンします。
簡易テスト:
[Test]
public async Task Get_WhenProductHasData_ReturnsView()
{
// Arrange
...
// Act
PartialViewResult actualResult = await _controller.Widget(_productId1) as PartialViewResult;
// Assert
Assert.That(actualResult, Is.Not.Null);
...
}
そして、これが単純化されたコントローラーです
public async Task<ActionResult> Widget(string productId)
{
ProductStats stats = await _statsService.GetProductStatsAsync(productId);
return PartialView(stats);
}