我如何单元测试数据库逻辑?

Nea*_*ale 1 c# unit-testing

在谈到TDD时,我仍然遇到一个问题.

我需要一种方法,从数据层(linq2SQL)获取一定数量的过滤数据记录集.请注意,我正在使用从DBML生成的linq生成的类.现在的问题是我想为此写一个测试.

我:

a)首先在测试中插入记录,然后执行该方法并测试结果

b)使用可能在数据库中的数据.不要热衷于这种逻辑,因为它可能导致事情破裂.

c)你有什么建议吗?

Tho*_*ler 5

你应该选择选项a).

单元测试应该是可重复的,并且必须完全由您控制.因此,为了使测试有意义,测试本身必须为执行准备数据 - 只有这样才能依赖测试结果.