有没有人尝试过对 OnResultExecuted 方法进行单元测试?
我有一个简单的控制器,它呈现通知消息然后清除它们。
public class NotificationController : BaseController
{
public NotificationController(INotificationMessagesContext notificationMessagesContext)
{
Contract.Requires<AppEx.NullArgumentException>(
notificationMessagesContext != null, "Notification messages context must be set");
notificationContext = notificationMessagesContext;
}
private readonly INotificationMessagesContext notificationContext;
[ChildActionOnly]
public PartialViewResult Index()
{
return notificationContext == null ? null : PartialView(notificationContext.Messages);
}
protected override void OnResultExecuted(ResultExecutedContext filterContext)
{
if (notificationContext != null && notificationContext.Messages.Any())
notificationContext.ClearAll();
base.OnResultExecuted(filterContext);
}
}
单元测试 Index() 方法没有任何帮助,因为 OnResultExecuted 是由 MVC 调用的。我可以创建一个易于测试的自定义属性,但是为此实现自定义属性似乎有点过头了。
谢谢