我希望能够使用Visual Studio中的Microsoft测试框架来实现自动化测试,以便于我的软件开发项目。我已经创建了一些测试,总体而言,使用起来相当容易。
有哪些更好的做法可以用于测试业务对象,更具体地说是那些读写数据库的对象呢?
最好是设置一个单独的测试数据库,与开发数据库分开,从用户界面进行测试,并只针对该数据库进行测试吗?基本上只填充它们的垃圾数据。
是否更好地采用某种自我清理的方法,即如果我正在测试AddUser方法,我是否应该添加用户,检查我的测试,然后删除用户?
您是否在单个测试方法中测试每个CRUD方法?
最后,如何验证单个业务规则,例如验证字符串大小是否正确、开始日期是否小于结束日期、CustomerId是否正确等。
我知道这是一个很广泛的问题......只是想寻求一些方向......慢慢来。
更多信息...
有很多好答案!我不确定我能否成功模拟数据库。我正在使用CSLA作为对象的框架。要使用模拟对象进行测试需要进行一些严重的重构。我将研究这个问题。尽管如此,在某些时候,我确实希望测试数据库交互......当使用模拟数据库时,您何时/在何处实际测试数据库通信呢?
另一个问题......最好让每个测试方法都不依赖于其他测试吗?