通过Maven集成测试Flex/JavaWeb应用程序的最佳方法?
我正在从事一个项目,该项目正在开发一个webapp,它具有100%的FlexUI,通过Blaze与运行在应用服务器上的Java后端进行对话。该团队已经创建了许多单元测试,但只为持久性模块创建了集成测试。现在我们想知道集成测试其他部分的最佳方法。以下是我们现在拥有的Maven模块,我相信这是一个非常典型的设计: 服务器端: 1) Java域模块——它只有单元测试 2) Java持久性模块(DAO)——目前只有与实时数据库对话以测试DAO的集成测试,这里没有真正的单元测试 3) Java服务模块——目前只有单元测试 客户端: 4) 一个打包为SWC并与Java后端对话的Flex服务模块——目前根本没有测试 5) 一个Flex客户端模块,在Flex服务模块之上实现Flex UI——目前只有单元测试(我们使用MATE创建了一个松散耦合的客户端,视图中没有逻辑) 这5个模块打包成一个WAR,可以部署在应用服务器或servlet容器中 以下是我的4个问题:通过Maven集成测试Flex/JavaWeb应用程序的最佳方法?,java,apache-flex,web-applications,integration-testing,maven,Java,Apache Flex,Web Applications,Integration Testing,Maven,我正在从事一个项目,该项目正在开发一个webapp,它具有100%的FlexUI,通过Blaze与运行在应用服务器上的Java后端进行对话。该团队已经创建了许多单元测试,但只为持久性模块创建了集成测试。现在我们想知道集成测试其他部分的最佳方法。以下是我们现在拥有的Maven模块,我相信这是一个非常典型的设计: 服务器端: 1) Java域模块——它只有单元测试 2) Java持久性模块(DAO)——目前只有与实时数据库对话以测试DAO的集成测试,这里没有真正的单元测试 3) Java服务模块——
非常感谢您的任何帮助/意见 与其说是一个有力的回答,不如说是一个暗示,但不妨看看(以前)和博客帖子。首先,请澄清一下。当您说“4)打包为SWC的Flex服务模块”时,您的意思是我收集的Flex服务库作为RSL加载。与将服务作为运行时模块编写相比,这是一个重要的区别,因为后者可以(并且通常会)实例化服务控制器本身,并将服务连接分发到其他模块。您的备选方案是,在每个模块中构建一个库,这意味着它们都创建自己的服务控制器实例。最好将服务逻辑放在应用程序可以加载的模块中,然后再加载其他模块,并管理服务在模块之间的移动 例如 Application.swf-启动、初始化IoC容器、加载Services.swf、注入所需的任何依赖项 Services.swf加载、建立到服务器的连接、管理所需的服务收集 Application.swf将Services.swf中的托管实例添加到其容器中(使用某种形式的上下文感知以防止冲突) Application.swf加载ModuleA.swf,注入它所需的任何依赖项 ModuleA.swf加载(列出了来自Services.swf injected的依赖项),使用这些依赖项联系它所需的服务 也就是说,按照你目前的结构,我将尽可能准确地回答你的问题
链接不错。我们使用Hudson作为我们的CI工具,所以这是很好的阅读。但是,我们已经在使用FlexUnit进行Flex单元测试。这篇文章在谈到持续集成的过程时,没有提到“集成测试”,而“集成测试”显然没有:-(这太糟糕了。@HDave我至少想提到fluint,它被宣传为Flex单元和集成测试框架。但我必须说,我在该领域没有任何实际经验,我对Flex和BlazeDS的知识非常有限。