嘲笑存储过程

时间:2011-01-17 21:04:46

标签: java spring stored-procedures tdd

我很快就将一个单元测试编写到服务层类中,该服务层类严重依赖于org.springframework.jdbc.object.StoredProcedure类。 服务对象将是简单的批处理类,从存储过程中读取数据,聚合它并将其发送到另一个存储过程。

这种单元测试的最佳实践是什么(因为它严重依赖于数据库)。我应该使用假对象(一组方法存根),编写一个带有数据库后端的模拟或镜像真实的东西(保持基础设施更新的成本)?

我想尽可能地保持懒惰并且仍然保证质量。

2 个答案:

答案 0 :(得分:1)

就个人而言,我会在像H2这样的嵌入式数据库的情况下进行单元测试。

希望这有帮助。

答案 1 :(得分:0)

在这种情况下,我不担心端到端的测试。我会发出对存储过程的调用,并确保您的代码按预期工作。

接下来要做的是测试存储过程。如果你在oracle平台上,那么你可以使用ruby-plsql测试驱动程序。我以前在项目中使用过它并且效果很好。如果您不在oracle平台上,那么您将不得不在测试工具中构建一些可以通过以下方式调用存储过程的内容,以便您可以看到不同的结果。只是拍摄快乐的道路和一些边缘案件。