我的应用程序的文件夹结构与WAR文件不相似。配置文件(如web.xml)位于配置文件夹中,消息包/资源文件位于资源文件夹中,资源文件存储为UTF-8等.Ant构建用于生成结构正确的WAR。
目前,正在使用容器内测试框架(Cactus);但是,这个框架不再被维护。
是否存在可以爆炸WAR的容器测试框架,而不是要求源代码的文件夹结构与WAR的文件夹结构相匹配?如果框架支持将文件的实际位置映射到其未来的WAR位置,那也没关系。
是否仍然保留了容器内测试框架?
答案 0 :(得分:0)
选项有限。还有一些其他框架可以做类似的事情。 MockRunner也已停止使用。 Spring Mock可能是一个选项,但它缺少一些功能(如果你需要HTTP请求转发,你将不得不扩展一些类。)
我在Jetty取得了一些成功,因为从测试用例中可以很容易地启动Jetty,但当然,这将真正启动您的应用程序,就像它实际部署的那样,可能不是您想要的。
这就是为什么我通常会尝试编写不包含任何Java EE类型依赖项的代码。这样,我可以用我喜欢的任何方式测试一切。
然后,CI服务器有一个(慢)测试,它会在一段时间内运行,部署整个应用程序(包括擦除数据库并用干净的测试数据填充它)并执行一些简单的UI操作(登录,浏览)一些页面。)