c# - 如何自动测试我的数据库驱动功能?

标签 c# sql-server database unit-testing automated-tests

我正在尝试改进应用程序中的自动化测试,但不确定继续进行的最佳方法。

我的应用程序从多个表单收集数据,重新编码并将其存储在数据库中。我创建了一个相当复杂的 SQL View ,它使结构变平,因此可以将其导入到统计包 (SPSS) 中。

我担心的是 View 很复杂,我想围绕它自动化一些测试。

目前我有一些功能测试,它们创建一个完整的表单对象模型,并将其发送到应用程序中。然后,我从数据库中检索 View ,并使用反射来测试检索到的 View 字段是否与原始数据匹配。

问题是,这是非常手动和繁重的,我的装置很长,并且添加新场景很麻烦(即模型的各个部分不完整)。

有人对我如何改进我的测试策略有任何建议吗?欢迎大家提供提示技巧!

谢谢!

最佳答案

DbFit 非常适合此目的。 DbFit 是 FitNesse 的扩展,自从您谈到使用“固定装置”以来,您可能已经在使用它了。无论如何,DbFit 使设置测试变得非常容易,您可以在其中播种一些数据,运行 View ,比较预期结果,然后它会自动回滚您刚刚为测试播种的数据。当您向 View 添加更多字段时,更新非常容易。而且它不需要像其他一些 SQL“单元”测试套件那样在数据库中添加额外的对象。

您可以在以下位置找到有关使用 DbFit 的更多信息:

http://benilovj.github.com/dbfit

http://groups.google.com/group/dbfit

这是我为其编写的教程,解释了基本选项:

http://www.sqlservercentral.com/articles/Testing/64636/

关于c# - 如何自动测试我的数据库驱动功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5117124/

相关文章:

.net - 如何通过 SqlDataReader 获取结果集中字符串字段的排序规则?

mysql - MYSQL中根据字段值选择列

mysql - 如何检查返回多于 1 行的子查询中是否存在值?

c# - 反序列化从 SQL 查询返回的 XML 对象?

c# - 为什么 Bitmap 会导致规则 CA2000,而 Image 不会?

SQL:如何从重复行中选择第一条记录?

database - couchbase单桶最大并发操作数

c# - 使用反射将通用类字段解析器转换为 Dictionary<String, String>

C# 可能不是安全应用程序的最佳选择?

SQL:IN 子句的问题,如何返回所有值,甚至是重复值