使用不是Java EE应用程序的服务器端Java应用程序编写功能测试

时间:2011-06-08 20:16:04

标签: spring functional-testing batch-processing embedded-jetty

我的公司有一个基于java的批处理应用程序,它没有在Java EE中实现,它嵌入了jetty来处理一些Web服务调用。

直到现在,这些端点都没有任何功能测试(使用像htmlunit这样的东西),这显然是一件坏事。

我的任务是做到这一点。我对成功的定义是让它像grails一样尽可能地运行,它的功能测试插件或传统的Java EE将使用maven的故障安全插件。

该应用有一个main()方法。在内部,所有内容(如数据源,作业如何组合在一起等)都在Spring中配置。

有没有人对策略有任何建议?请随时提示我提供更多信息。

2 个答案:

答案 0 :(得分:0)

看看Spring的TestContext框架。它允许您创建特定于测试的应用程序上下文文件,并且具有整齐integration with JUnit 4以支持数据库功能的JDBC事务。基本上Spring会创建一个新事务,运行您的测试方法,然后在您有机会断言数据库更改是正确的之后回滚事务。您可以使用未修改的DAO代码对实时数据库运行集成测试,而不会在之后清理任何混乱。

答案 1 :(得分:0)

我最终使用泽西岛测试(见this SO entry)。