Hug*_*ata 12 nunit unit-testing
我在博客中读到,单元测试运行时不应该点击数据库.我理解这个理论,但是说我有复杂的商店程序,它们是业务域操作的一部分.我想为与业务操作相关的代码编写一组单元测试,但是如果我模拟数据库,我感觉我不是"真正"测试操作中的所有部分.例如,有人可能会在其中一个数据库代码中创建一个错误,测试仍然可以正常运行.
我想知道这个关于单元测试的指南是否在实践中是好的.我已经看到了"集成测试"的概念,但我不确定使用什么工具来进行集成测试.例如,是否可以使用像Nunit这样的测试框架创建集成测试?
谢谢
雨果
Gor*_*rie 10
你只是在一个语义灰色区域.
在这种情况下,您的应用程序代码的单元测试将/可能不会访问数据库,但您可能/可能有单元测试覆盖您的数据库存储过程...
基本上将您的应用程序划分为有意义的分区中要测试的内容.如果您选择了错误的分区行,最终会遇到模拟对象和测试脚手架等问题的大代码维护问题......
Web应用程序的一种常见方法是编写一系列测试数据访问层的单元测试...
然后编写一系列测试应用层(包括数据层)的单元测试...
最后写一些基于浏览器的系统测试......
诀窍是只通过API将信息输入和输出中间集 - 应用程序层,而不是挖入数据库以查看是否有效.这样,如果更改数据模式,测试不会中断.
但有时候(正如我实际上正在编写的那样)你必须调查数据库以制作一个有意义且强大的测试套件(我正在测试服务器 - 服务器传输协议).
专注于为您的应用程序获得最大代码覆盖率和稳定性的方式,同时编写最少量的测试脚手架,并避免测试套件中的脆弱性.
| 归档时间: |
|
| 查看次数: |
3027 次 |
| 最近记录: |