1

我的应用程序的文件夹结构与 WAR 文件不同。web.xml 等配置文件位于配置文件夹中,消息包/资源文件位于资源文件夹中,资源文件存储为 UTF-8 等。Ant 构建用于生成结构正确的 WAR。

目前,正在使用容器内测试框架(Cactus);但是,该框架已不再维护。

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

是否有仍在维护的容器内测试框架?

4

1 回答 1

0

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

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

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

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

于 2013-01-15T16:36:50.180 回答