单元测试
小于 1 分钟
单元测试
测试控制器
控制器单元测试将避开筛选器、路由或模型绑定等方案
涵盖共同响应请求的组件之间的交互的测试由集成测试处理
对于需要显示注入服务的控制器,可以通过使用 mock 对象框架(如 Moq)的模拟服务进行测试
public class HomeController : Controller { public HomeController(IBrainstormSessionRepository sessionRepository) { /* ... */ } }
[Fact] public async Task Index_ReturnsAViewResult_WithAListOfBrainstormSessions() { var mockRepo = new Mock<IBrainstormSessionRepository>(); mockRepo.Setup(repo => repo.ListAsync()).ReturnsAsync(GetTestSessions()); var controller = new HomeController(mockRepo.Object); }