Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用MOQ测试控制器_C#_Asp.net Mvc_Unit Testing_Moq - Fatal编程技术网

C# 用MOQ测试控制器

C# 用MOQ测试控制器,c#,asp.net-mvc,unit-testing,moq,C#,Asp.net Mvc,Unit Testing,Moq,我在为我的一个控制器操作编写单元测试时遇到问题。以下是详细情况 此视图是强类型的: Inherits="System.Web.Mvc.ViewPage<IEnumerable<Request>>" 以下是测试(nUnit,MOQ)的摘录,它给我带来了问题: //mockRequestRepository // .Setup(repo => repo.GetAll(It.IsAny<int>())) // .Retur

我在为我的一个控制器操作编写单元测试时遇到问题。以下是详细情况

此视图是强类型的:

Inherits="System.Web.Mvc.ViewPage<IEnumerable<Request>>"
以下是测试(nUnit,MOQ)的摘录,它给我带来了问题:

    //mockRequestRepository
    //    .Setup(repo => repo.GetAll(It.IsAny<int>()))
    //    .Returns(List<Request>());
    //mockRequestRepository
    //    .Setup(repo => repo.GetAll(It.IsAny<int>()))
    //    .Returns(IList<Request>());
    //mockRequestRepository
    //    .Setup(repo => repo.GetAll(It.IsAny<int>()))
    //    .Returns(IEnumerable<List<Request>>());
    mockRequestRepository
          .Setup(repo => repo.GetAll(It.IsAny<int>()))
          .Returns(It.IsAny<List<Request>>());
我认为这与此无关,但该方法上有两个重载:GetAll()和GetAll(int UserId)。我确信它与列表中的OrderBy有关,但我对Func的概念还相当不确定。谢谢你的帮助

试试这个:

mockRequestRepository.Setup(repo => repo.GetAll(It.IsAny<int>()))
    .Returns(new List<Request> { /* empty list */ });
mockRequestRepository.Setup(repo=>repo.GetAll(It.IsAny()))
.Returns(新列表{/*空列表*/});

mockRequestRepository.Setup(repo=>repo.GetAll(It.IsAny()))
.返回(新列表){
新请求{Prop1=…,PropN=…},
新请求{Prop1=…,PropN=…},
...
});
您也可以与最低起订量一起使用

_repository.Setup(rep => rep.GetAll(It.IsAny<int>()))  // <-- Moq magic
    .Returns( 
        Builder<Request>.CreateListOfSize(10).Build()  // <-- NBuilder magic
    );
\u repository.Setup(rep=>rep.GetAll(It.IsAny()))//
InnerException  {"Value cannot be null.\r\nParameter name: source"} 
System.Exception {System.ArgumentNullException}
mockRequestRepository.Setup(repo => repo.GetAll(It.IsAny<int>()))
    .Returns(new List<Request> { /* empty list */ });
mockRequestRepository.Setup(repo => repo.GetAll(It.IsAny<int>()))
    .Returns(new List<Request> {
        new Request { Prop1 = ..., PropN = ... },
        new Request { Prop1 = ..., PropN = ... },
        ...
    });
_repository.Setup(rep => rep.GetAll(It.IsAny<int>()))  // <-- Moq magic
    .Returns( 
        Builder<Request>.CreateListOfSize(10).Build()  // <-- NBuilder magic
    );