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

时间:2011-10-03 05:03:33

标签: oracle unit-testing jsf ejb oracle-adf

所以我想要重构一些具有挑战性的代码。挑战在于它依赖于数据库查询,EJB和Java serverFaces。不是同时而是接近它。

一个很好的例子是geocoder。根据输入和存储的数据,根据对DB的多个查询获得有意义的结果。代码也可能引用其他帮助程序类,并通过JSF框架查找它们。

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

1 个答案:

答案 0 :(得分:4)

嗯,简短的回答是“是”。

首先,您需要充分考虑代码,以构建单元测试。您所描述的内容在应用通常的单元测试方法时过于复杂,在任何情况下您将获得的更像是更高级别的验收测试。

现在,就因素而言,你有几种可能的方法,你可能会全部使用它们。

  1. 使用外部脚本测试数据库查询本身。

  2. 为直接访问数据库的组件构建一个合适的模拟器,以查看针对已知结果的情况。

  3. 使用类似JUnit的框架构建单元测试功能单元。

  4. 检查最新技术,看看是否可以针对单元测试测试输出HTML。