Oracle 单元测试高度相互依赖的代码

Oracle 单元测试高度相互依赖的代码,oracle,unit-testing,jsf,ejb,oracle-adf,Oracle,Unit Testing,Jsf,Ejb,Oracle Adf,因此,我有一些具有挑战性的代码要重构。挑战在于它依赖于数据库查询、EJB和Java服务器面。不是同时,而是接近它 一个很好的例子就是一个例子。根据输入和存储的数据,通过对数据库的多个查询获得有意义的结果。代码还可以引用其他助手类,并通过JSF框架查找它们 测试这类代码的最佳策略是什么?我应该尽可能多地分离代码吗?我应该用嘲弄来代替吗?什么对其他人有效?好吧,简短的回答是“是的” 首先,您需要充分考虑代码以构建单元测试。您所描述的对于应用通常的单元测试方法来说过于复杂,并且您在任何情况下都会得到更

因此,我有一些具有挑战性的代码要重构。挑战在于它依赖于数据库查询、EJB和Java服务器面。不是同时,而是接近它

一个很好的例子就是一个例子。根据输入和存储的数据,通过对数据库的多个查询获得有意义的结果。代码还可以引用其他助手类,并通过JSF框架查找它们

测试这类代码的最佳策略是什么?我应该尽可能多地分离代码吗?我应该用嘲弄来代替吗?什么对其他人有效?

好吧,简短的回答是“是的”

首先,您需要充分考虑代码以构建单元测试。您所描述的对于应用通常的单元测试方法来说过于复杂,并且您在任何情况下都会得到更高级别的验收测试

现在,就分解而言,您有几种可能的方法,您可能会全部使用它们

  • 使用外部脚本测试数据库查询本身

  • 为直接访问数据库的组件构造一个适当的模拟,以便查看在已知结果的基础上发生了什么

  • 使用类似JUnit的框架为功能单元构建单元测试

  • 检查最新技术,看看是否可以根据单元测试有效地测试输出HTML