2013-01-15 67 views
1

我的应用程序的文件夹结构不像WAR文件。配置文件(如web.xml)位于配置文件夹中,消息包/资源文件位于资源文件夹中,资源文件以UTF-8形式存储等。Ant构建用于生成正确结构化的WAR。针对WAR运行测试

目前,正在使用容器内测试框架(仙人掌);但是,这个框架不再被维护。

是否有可以爆炸WAR的容器测试框架,而不是要求源代码的文件夹结构与WAR相匹配?如果框架支持将文件的实际位置映射到未来的WAR位置,那也可以。

是否仍然保持容器内测试框架?

+1

仙人掌是否缺少您需要的功能?或者有一个阻止你使用它的错误?如果没有,为什么担心它不被维护?你有没有考虑过,如果你有投资,自己接管维护? – parsifal

+0

至于找到一个框架,需要一些任意的文件集合,并使其看起来像一个战争......为什么会有人开发这样的事情? – parsifal

+0

@parsifal当然,它目前正在运行。我担心随着技术的发展它会停止运行,并且倾向于针对可能随技术发展的框架编写新的测试,而不是*不会*的框架。 – Matt

回答

0

选项有限。还有一些其他框架可以做类似的事情。 MockRunner也停用。 Spring Mock可能是一个选项,但缺少一些功能(如果您需要HTTP请求转发,则必须扩展某些类)。

我在Jetty上取得了一些成功,因为它很容易从测试用例中嵌入Jetty,当然,这会真正启动您的应用程序,就好像它真的部署了,可能不是您想要的。

这就是为什么我通常会尝试编写不包含对Java EE类型的任何依赖关系的代码。这样,我可以用任何我喜欢的方式测试所有的东西。

CI服务器然后有一个单一的(慢)测试,它运行一次,部署整个应用程序(包括擦拭数据库并填充干净的测试数据),并执行一些简单的UI操作(登录,浏览一些页面)。

相关问题