我是 MVC 和单元测试的新手。我正在使用 Visual Studio 单元测试框架来测试产品控制器。控制器在实际网站上工作,但在单元测试中总是返回 null。我已经切换关键字,例如 ViewResult 或模型名称,但它们都不起作用,因为控制器总是返回 null。然后我设置断点并开始调试测试代码。当我在即时窗口中对其进行测试时,它具有价值。
我在这里想念什么?
我在此 URL 上有一个屏幕截图:http: //i.imgur.com/XBmoh.png 在屏幕截图中,您可以看到模型从控制器成功传递的即时窗口,P4 P5 存储在结果中。它只是在 UnitTest 中不起作用。
列表代码非常简单,在网站上运行良好。这是代码
public int PageSize = 4;
private IProductRepository repository;
public ProductController(IProductRepository productRepository)
{
repository = productRepository;
}
public ViewResult List(int page=1)
{
ProductsListViewModel viewModel = new ProductsListViewModel
{
Products = repository.Products
.OrderBy(p => p.ProductID)
.Skip((page - 1) * PageSize)
.Take(PageSize).AsEnumerable(),
PagingInfo = new PagingInfo
{
CurrentPage = page,
ItemsPerPage = PageSize,
TotalItems = repository.Products.Count()
}
};
return View(viewModel);
}