FileContentResult来自Controller方法的null

时间:2013-03-07 23:14:30

标签: c# asp.net-mvc

我的控制器中有以下方法;

        [HttpGet]
        public ActionResult Process(int id)
        {
                var file = ServiceUtilities.FileManager.GetFile(id);

                if (file != null)
                {
                    var fcr = new FileContentResult(new byte[1], @"Image\Gif");
                    return fcr;
                }

                return RedirectToAction("Index", "Error");
        }

我从单元测试中调用此代码如下;

var response =
            new Controllers.FileController().Process(1) as FileStreamResult;


Assert.IsNotNull(response);

但是,响应始终为null。如果我在Controller代码中的fcr上设置断点,则它不为空。

为了澄清,file是一个模拟对象,不是空的。

1 个答案:

答案 0 :(得分:1)

我可能遗漏了一些东西,但FileContentResult(你从方法中返回的内容)不是FileStreamResult(你在测试中投入的内容)。它们都继承自FileResult,但为了让您的测试通过,FileContentResult需要继承FileStreamResult

或者这是一种错误的类型?