我正在进行一些增删改查操作的单元测试,我的问题是:
1)如果我需要测试Add、Get和Delete方法。持久层是一个数据库。由于我需要有一个测试对象来进行Get和Delete测试,那么我应该将这3个方法合并为一个[TestMethod],还是将它们分为3个方法,在进行Get和Delete测试之前重新添加对象?
我正在进行一些增删改查操作的单元测试,我的问题是:
1)如果我需要测试Add、Get和Delete方法。持久层是一个数据库。由于我需要有一个测试对象来进行Get和Delete测试,那么我应该将这3个方法合并为一个[TestMethod],还是将它们分为3个方法,在进行Get和Delete测试之前重新添加对象?
理想情况下,您应该为每个案例编写单独的测试。
您应该使用某种模拟 - 通过框架或自己设置数据库 - 来为每个测试设置初始条件。
因此,要测试添加,您将从空数据库开始,然后添加一些新数据,尝试再次添加相同的数据(应该失败),添加不完整的数据等。
然后,要测试获取和删除,您将从预填充的数据库开始执行所需的各种测试。
无论什么让测试变得更容易 :) 只要你得到一个返回声明哪种方法通过/失败了,那就应该没问题。
你好 :) 我会分开测试每个部分,并在每个部分之前进行清理和设置,以及在每个部分之后进行清理。