Для того, чтобы ActionFilter вызывался автоматически, вам нужно запустить invoker action controller. Это возможно, но это означает, что среда MVC попытается выполнить результат. Это означает, что вам придется использовать макеты, чтобы заглушить выполнение результата. Опять же, это возможно, но это означает, что ваш модульный тест становится более ложным, чем реальный код. Может быть правильнее просто проверить фильтр напрямую. В конце концов, тот факт, что OnActionExecuting вызывается, является особенностью фреймворка, и вам не нужно проводить модульное тестирование самой фреймворка.
Но я думаю, что вы на самом деле говорите о том, что хотите протестировать Wh whatAction, и это действие не может работать, если не выполнен ActionFilter.
Сначала я бы задал вопросы об этом дизайне. Это правильно? Может быть. Например, разумно, чтобы действие с атрибутом Authorize могло предполагать, что при его выполнении вошел в систему пользователь. Конечно, действие должно проверить это, но презумпция безопасна. С другой стороны, действия, вероятно, не должны требовать фильтров для инициализации конкретного действия. Так что вы должны задать вопрос, но ответом на них будет то, что дизайн правильный.
В этом случае лучшее решение для модульного теста может состоять в том, чтобы вручную выполнить фильтр в модульном тесте и написать отдельный модульный тест, который доказывает, что действие имеет правильный атрибут.