我有一组MSTest测试用例,它们使用带有这些属性的方法从测试开始后创建的测试数据库中的表中删除所有行; 我偶尔会在数据库中的一个单元测试中得到一行.
由于我正在保存测试开始时间并删除时间戳比它更新的所有记录,因此我可以看到记录幸存的唯一方法是未调用清理代码.
好吧,首先,“单元测试”从技术上讲不应该触及数据库。但是,我也使用 NUnit 进行集成测试,所以没什么大不了的。
清理方法无法完整运行的唯一情况是清理函数中出现错误,或者异常导致运行时关闭。据我所知,唯一可以做到的就是堆栈溢出和内存不足错误。从调试器中止测试也会导致跳过清理阶段。
根据您的数据访问层,一种更可能的解释是您丢失了数据库连接,并且清理功能无法获取新的连接。这通常表明需要使您的 DAL 更加健壮,并且还表明测试中发生了您未预料到的事情,从而导致 DAL 崩溃。
| 归档时间: |
|
| 查看次数: |
6126 次 |
| 最近记录: |