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
.net 数据访问层的单元测试_.net_Unit Testing - Fatal编程技术网

.net 数据访问层的单元测试

.net 数据访问层的单元测试,.net,unit-testing,.net,Unit Testing,我想测试数据层,我该怎么做?我正在使用NUnit进行业务对象测试。我必须使用模拟对象(我以前从未使用过) 如果有人能给我提供正确的指导,我将不胜感激。使用模拟对象取决于您的单元测试。如果不想初始化多个对象来测试单个对象,可以使用模拟来模拟其他对象的行为 对于测试DAL对象,您必须在每次运行测试时重置DB状态。因为在数据库上运行测试将创建许多记录,这些记录可能会更改数据库的状态。使用模拟对象取决于单元测试。如果不想初始化多个对象来测试单个对象,可以使用模拟来模拟其他对象的行为 对于测试DAL对象,

我想测试数据层,我该怎么做?我正在使用NUnit进行业务对象测试。我必须使用模拟对象(我以前从未使用过)


如果有人能给我提供正确的指导,我将不胜感激。

使用模拟对象取决于您的单元测试。如果不想初始化多个对象来测试单个对象,可以使用模拟来模拟其他对象的行为


对于测试DAL对象,您必须在每次运行测试时重置DB状态。因为在数据库上运行测试将创建许多记录,这些记录可能会更改数据库的状态。

使用模拟对象取决于单元测试。如果不想初始化多个对象来测试单个对象,可以使用模拟来模拟其他对象的行为


对于测试DAL对象,您必须在每次运行测试时重置DB状态。因为在数据库上运行测试将创建许多记录,这些记录可能会更改数据库的状态。

您必须执行以下操作:

  • 将业务层(或控制器层)与数据访问分开。确保数据访问层完全干净。你需要模仿才能做到这一点
  • 如果您使用的是诸如NHibernate之类的ORM,请将数据库供应商更改为轻量级(例如,在配置中将其设置为内存中),以便可以对内存中的数据库执行测试。这样,您就不必担心诸如资源清理之类的混乱问题。当然,在进行测试之前,您需要预先填充数据

  • 以下是您可能会发现有用的单元测试DAL。

    您必须这样做:

  • 将业务层(或控制器层)与数据访问分开。确保数据访问层完全干净。你需要模仿才能做到这一点
  • 如果您使用的是诸如NHibernate之类的ORM,请将数据库供应商更改为轻量级(例如,在配置中将其设置为内存中),以便可以对内存中的数据库执行测试。这样,您就不必担心诸如资源清理之类的混乱问题。当然,在进行测试之前,您需要预先填充数据

  • 下面是您可能会发现有用的单元测试DAL。

    您能介绍一下DAL吗?它使用LINQtoSQL、ADO.NET还是其他什么?您能告诉我您正在使用的数据对象是什么吗?最后,您想测试什么样的东西?例如,查询或数据对象的构建方式?您能告诉我们一些关于DAL的信息吗?它使用LINQtoSQL、ADO.NET还是其他什么?您能告诉我您正在使用的数据对象是什么吗?最后,您希望测试什么样的东西—例如,查询或数据对象的构建方式?