加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – MVC 3上的单元测试控制器为结果返回null,但我

发布时间:2020-12-16 07:05:14 所属栏目:asp.Net 来源:网络整理
导读:我是MVC和单元测试的新手.我正在使用Visual Studio单元测试框架来测试产品控制器.控制器在实际网站上工作,但它总是在单元测试中返回null.我切换了关键字,如ViewResult或Model的名称,但所有这些都不起作用,因为控制器总是返回null.然后我提出了断点并开始调试
我是MVC和单元测试的新手.我正在使用Visual Studio单元测试框架来测试产品控制器.控制器在实际网站上工作,但它总是在单元测试中返回null.我切换了关键字,如ViewResult或Model的名称,但所有这些都不起作用,因为控制器总是返回null.然后我提出了断点并开始调试测试代码.当我在立即窗口中测试它有价值.

我在这里错过了什么?

我在这个URL上有截图:http://i.imgur.com/XBmoh.png
在屏幕截图中,您可以看到模型从控制器成功传递的立即窗口,P4 P5存储在结果中.它在UnitTest中不起作用.

List代码非常简单,在网站上运行正常.这是代码

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);
    }

解决方法

如果出现此问题,则表示您未在项目中使用相同版本的System.Web.Mvc.您必须在主项目和单元测试项目中引用相同版本的System.Web.Mvc.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读