2

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

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

测试此类代码的最佳策略是什么?我应该尽可能地分离出我的代码吗?我应该改用模拟吗?什么对其他人有用?

4

1 回答 1

4

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

首先,您需要充分考虑代码以构建单元测试。您所描述的内容对于应用通常的单元测试方法来说过于复杂,而且无论如何您会得到的更像是更高级别的验收测试。

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

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

  2. 为直接访问数据库的组件构造一个适当的模拟,以便查看针对已知结果会发生什么。

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

  4. 检查最先进的技术,看看您是否可以针对单元测试有效地测试输出 HTML。

于 2011-10-03T05:06:29.970 回答