SQL:在处理SQL查询/视图/等时是否可以执行TDD?

时间:2011-01-06 10:25:44

标签: sql tdd

在Java环境中习惯TDD我想知道在构建SQL查询,创建视图等时是否也使用了TDD。

如果它也被使用,人们如何做到这一点?您需要创建许多小型数据库(基本上每个单元测试)?

我不知道我的问题是否有道理但仍然存在:TDD被认为是 改变了他们开发软件的方式,而且 >在“SQL”级别继续开发。那么TDD和DB / SQL如何混合?

2 个答案:

答案 0 :(得分:2)

在Rails世界中,您有一个专用的测试数据库,您可以在每次运行测试套件时通过migrationsfixtures构建,以便在运行测试之前预先填充数据库。

这使TDD完全可以与数据库对比。

我认为数据库开发人员不使用TDD的主要原因是文化比其他任何东西都要多。

答案 1 :(得分:0)

我认为它在数据库世界中并不常见。

要问的问题是:“我在这里测试的是什么?”

可以按照您的建议完成,也可以通过启动事务,填充具有保证初始已知状态的表,运行正在测试的代码然后回滚。但最终这些测试往往以数据为中心而且对数据库更改很脆弱:一次模式更改可能会破坏大量测试并创建大量工作。