Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.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# 如何用IEnumerable模拟类_C#_Unit Testing_Visual Studio 2012_Moq - Fatal编程技术网

C# 如何用IEnumerable模拟类

C# 如何用IEnumerable模拟类,c#,unit-testing,visual-studio-2012,moq,C#,Unit Testing,Visual Studio 2012,Moq,我在C#中使用Moq进行单元测试,并希望在下面的类中放置一些虚假数据 public class UserResponse { public IEnumerable<usertab> userlist{get;set;} public string Name {get;set;} public string state {get;set;} public string country {get;set} } pub

我在C#中使用Moq进行单元测试,并希望在下面的类中放置一些虚假数据

 public class UserResponse
 {

       public IEnumerable<usertab> userlist{get;set;}
       public string Name {get;set;}
       public string state {get;set;}
       public string country {get;set}

 }

  public class usertab
  {
    public string tname {get;set;}

    public string fname {get;set;}

   }
您根本不是在“伪造”它-您只是使用一个数组作为实现。这样做没有什么错-我个人喜欢在测试中使用真实代码,只要:

  • 您对所依赖的其他代码(在本例中为数组)有信心,因为它是由可靠的源代码(在本例中为BCL)提供的,或者您有测试
  • 您不需要执行交互测试——例如,如果您想检查是否只对集合迭代一次,那么数组将不会帮助您这样做
  • 真正的代码不会减慢测试速度(例如,通过建立网络连接、需要数据库等)。阵列没有问题
您根本不是在“伪造”它-您只是使用一个数组作为实现。这样做没有什么错-我个人喜欢在测试中使用真实代码,只要:

  • 您对所依赖的其他代码(在本例中为数组)有信心,因为它是由可靠的源代码(在本例中为BCL)提供的,或者您有测试
  • 您不需要执行交互测试——例如,如果您想检查是否只对集合迭代一次,那么数组将不会帮助您这样做
  • 真正的代码不会减慢测试速度(例如,通过建立网络连接、需要数据库等)。阵列没有问题
您根本不是在“伪造”它-您只是使用一个数组作为实现。这样做没有什么错-我个人喜欢在测试中使用真实代码,只要:

  • 您对所依赖的其他代码(在本例中为数组)有信心,因为它是由可靠的源代码(在本例中为BCL)提供的,或者您有测试
  • 您不需要执行交互测试——例如,如果您想检查是否只对集合迭代一次,那么数组将不会帮助您这样做
  • 真正的代码不会减慢测试速度(例如,通过建立网络连接、需要数据库等)。阵列没有问题
您根本不是在“伪造”它-您只是使用一个数组作为实现。这样做没有什么错-我个人喜欢在测试中使用真实代码,只要:

  • 您对所依赖的其他代码(在本例中为数组)有信心,因为它是由可靠的源代码(在本例中为BCL)提供的,或者您有测试
  • 您不需要执行交互测试——例如,如果您想检查是否只对集合迭代一次,那么数组将不会帮助您这样做
  • 真正的代码不会减慢测试速度(例如,通过建立网络连接、需要数据库等)。阵列没有问题

谢谢你的建议。谢谢你的建议。谢谢你的建议。谢谢你的建议。
            var userdata = new usertab[]{

               new usertab{tName="Employee",fName="abc"},
               new usertab{tName="Employee",fName="xyz"},

            };