根据数据库验证grails域类

时间:2011-06-13 21:39:28

标签: testing grails integration-testing grails-plugin grails-domain-class

验证grails域类与数据库同步的最佳方法是什么?它是遗留数据库,我无法从域类构建它。一个有趣的想法here,意味着获取每个域的一行。但是,它并不像一个完整的解决方案,主要是因为我验证的测试数据库可能不是那么数据丰富,以至于在所有表中都有数据。

提前感谢您花时间阅读/回复。

1 个答案:

答案 0 :(得分:1)

这是一个很好的方法,即使对于空表也必须工作 - 如果表是空的,你没有遗留数据来担心验证,对吧?或者,如果要测试Grails约束以与DB约束兼容,请创建该类的新实例并尝试在事务中save() - 并始终回滚事务。

如果数据库很小,我甚至会从max:1删除list() - 验证每条记录,因为只有部分记录可能会违反约束。

我还会将println "${it}"替换为assert it.validate()

最后一次优化,我将测试的类仅限于那些我知道可能违反某些约束的类。这将节省这样一个测试的很大一部分 - 测试将花费大量时间,你知道 - 用GORM开销读取所有数据库。