当前位置:  开发笔记 > 编程语言 > 正文

.NET单元测试用于读取/保存数据到数据库

如何解决《.NET单元测试用于读取/保存数据到数据库》经验,为你挑选了2个好方法。

我读到的关于单元测试的大部分内容都是关于测试你的类及其行为.但是,如何测试将数据保存到数据库并从数据库中读取数据.在我们的项目中,保存和读取数据是通过Flex应用程序使用的服务完成的(使用WebORB作为网关).例如,服务读取所有可以访问某个模块的用户.您如何测试实际返回的用户是否有权访问该模块的用户?

有时能够测试从数据库中加载数据需要数据库中已存在数据.在我们的一些测试中,我们首先需要将大量的testdata保存到数据库中,然后才能测试阅读内容......

同样的事情对存储过程也有效.如果数据库中没有数据,如何测试sp?现实是,为了测试某些存储过程,我们需要十个表中的数据......

thx,Lieven Cardoen



1> Gambrinus..:

这更像是集成测试,而不是单元测试.

我在这种情况下做的是我构建一个非持久化测试,在test-db中加载测试所需的数据,然后运行单元测试.之后,它处理当前事务,因此不存储任何数据.

这里最大的问题是,如果您的客户出现故障 - 您无法运行此类测试......另一个问题是,每次运行此类测试时,test-db中的数据都将被重置.



2> Randolpho..:

我同意@Gambrinus。通常,对数据层进行单元测试几乎是不可能的。最好的办法是提供一个强大的数据层接口,并在业务层中对该接口进行模拟,然后保存数据质量测试以进行集成测试。

我已经看到过尝试对ORM工具进行模拟的尝试(这使LINQ很有趣),但是它们并没有测试查询的正确性,只是测试以测试人员认为应该编写的方式编写。由于测试人员通常是针对ORM编写查询的人员,因此这毫无价值。

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有