Eri*_*ric 5 c# database unit-testing
这可能已被多次询问,但在这里:
我有一个充满数据库连接的类
打开连接
查询db
读取值
关闭连接
我该如何对这些东西进行单元测试?
我需要创建一个假数据库吗?我想我可以模拟MySql类(对于c#),但这也是很多工作.
有些陈述是"INSERT INTO",我该怎么办呢?
首先.拆分数据层.查看存储库模式.每个实体(表或视图)都应该拥有自己的类获取数据.
使用数据接口而不是特定的驱动程序实现:IDbConnection而不是SqlConnection.使用DbProviderFactory得到适当的连接实现.然后connection.CreateCommand()用来获取命令等
尽一切努力使测试数据层变得更加容易.请记住,数据库不应该有任何逻辑.它的唯一目的是从数据源加载数据.
但是如果你不想改变东西:对数据库工作是最简单的方法.删除所有数据并在每次测试之前插入新的测试数据(以删除上一次测试期间的任何更改).
| 归档时间: |
|
| 查看次数: |
1759 次 |
| 最近记录: |