我有一個基地控制器,其餘的OnActionExecutionAsync
方法設置一些公共控制器屬性,然後在OnActionExecuted
方法 此工作正常設置一些常見視圖模型的屬性,但我現在需要爲它編寫一些單元測試。沒有TDD的我..單元測試基地控制器OnActionExecutionAsync和OnActionExecuted方法
代碼我是:
public override async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
{
//set some controller properties
await base.OnActionExecutionAsync(context, next);
}
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
//set some other viewmodel properties
base.OnActionExecuted(filterContext);
}
的問題我已經與OnActionExecutionAsync
測試中,比它被嘲笑的背景下右痛等,是該方法完成時它會自動調用OnActionExecuted
方法,並且由於ActionExecutedContext
爲空而倒下。 我假設我需要撥打await base.OnActionExecutionAsync(context, next);
,而不是簡單地await next();
?繼續使用管道,雖然已經檢查了github中的Controller
代碼,但似乎基本實現只在調用ActionExecutingContext的結果爲空時調用OnActionExecuted
aspnet core controller on GitHub 任何想法如何讓我的測試在沒有跳到OnActionExecuted
的情況下工作?