java - 针对 WAR 运行测试

标签 java unit-testing testing http-unit

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

目前正在使用容器内测试框架(Cactus);然而,这个框架不再被维护。

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

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

最佳答案

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

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

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

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

关于java - 针对 WAR 运行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14341831/

相关文章:

java - DatastoreMutationPool 是否在回调之前刷新到数据存储区?

java - Gupta/Centura 到 Java 的转换

javascript - 如何对包含 DOM/jquery 选择器的 Angular 1 Controller 进行单元测试?

javascript - JS单元测试: run tests on file changes (like nodemon)

java - 为什么我收到 NoClassDefFoundError?

unit-testing - GroovyTestCase 不支持 @BeforeClass 和 @AfterClass

unit-testing - Scala - 单元测试设置(使用访问修饰符限定符?)

windows - polymer 测试在 Windows 机器上永无止境

ruby-on-rails - RSpec 套件性能差异

java - 在 eclipse "run as applet"中也更改我的小程序的大小