我有rails应用程序,我使用postgresql作为数据库。当应用程序数据发生变化时,我使用触发器函数在数据库中进行一些更改。但我对如何使用测试用例测试触发器功能没有好主意......
答案 0 :(得分:1)
我和我一样在船上。我最后编写了涉及直接数据库插入/更新/删除语句的单元测试,以及直接选择语句来验证更改。
作为提示,请考虑编写一些操作多行的测试,并验证返回的受影响行的数量是否有效。根据我的经验,当事情复杂时,后者有诀窍揭示缺点(崩溃,竞争条件等)。
答案 1 :(得分:0)
为什么不简单地执行与生产应用程序相同的操作?
E.g。如果您的触发器在插入和更新时触发了列值,只需为这些事件编写测试,并通过检索并检查它来测试值是否正确递增。因此,如果插入操作前列值为“3”,之后为“4”,则表示触发器已正确触发。