可测试性的最佳数据库访问模式是什么?

时间:2008-09-19 16:57:04

标签: database testing design-patterns data-access

我已阅读并涉及一些包括活动记录,存储库,数据传输对象的内容。哪个最好?

5 个答案:

答案 0 :(得分:3)

'最佳'问题并非真正有效。世界充满了组合和变化。你应该从你必须回答的问题开始:你试图解决什么问题。在您回答之后,您会看到最适合该问题的工具。

答案 1 :(得分:3)

虽然我同意“最好的”问题不是最好的形式(因为它们是如此随意),但它们也不是完全不相关的。

在S.O.这里建造的世界开发商投票选出什么是“最好的”,为什么不提出最好的问题呢? “最佳问题”提示讨论和不同意见。

最终,当有人“谷歌搜索”“数据访问模式”时,他们应该访问此页面然后查看plethora个答案,对吗?

答案 2 :(得分:1)

这真的取决于你的任务。至少你应该知道并理解所有数据库访问模式,以选择最适合当前问题的模式。

答案 3 :(得分:1)

这是一个很好的问题,应该引起一些思考 数据库访问通常不受严格测试 - 特别是不自动化测试,我当然希望增加对我的数据库的测试量。

我正在使用从Visual Studio内部运行的MbUnit测试框架来进行一些测试 我们的应用程序尽可能使用存储过程,我编写的测试设置数据库进行测试,调用存储过程并检查结果。
对于相关存储过程的集合,我们有一个C#文件,其中包含对那些存储过程的测试。 (但是,到目前为止,我们的覆盖率可能只有1%左右!)。

由于Ruby内置强调自动化测试,因此活动记录是一个很有吸引力的选择。如果我重新开始,那将是使用活动记录的一点。

答案 4 :(得分:1)

存储库可能是可测试性的最佳模式,因为它允许您在需要测试时用模拟替换存储库。 ActiveRecord将您的模型与数据库联系起来(有时候方便,但通常更难以测试)。