sturts2+spring+hibernate组合下对Action进行 容器依赖测试:
class BaseStruts2ActionTestentends StrutsTestCase {
protected void setUp() throws Exception {
super.setUp();
//
/**
* 关键是调用这个方法,使用在StrutsTestCase里被装入的所有provider来初始化XWorkTestCase下的
* ConfigurationManager configurationManager;
* Configuration configuration;
* Container container;
* ActionProxyFactory actionProxyFactory;
* 如果不调用这个方法重新构建configurationManager,将抛出java.lang.UnsupportedOperationException异常
*
*/
this.loadConfigurationProviders((ConfigurationProvider[]) this.configurationManager.getConfigurationProviders()
.toArray(new ConfigurationProvider[0]));
}
public void testXXXXXX(){
......
}
}
分享到:
相关推荐
整合测试可能会包括检查Action是否能正确地从Spring容器获取依赖,以及在处理请求后是否能正确地返回到Struts2的结果流程。 6. **测试驱动开发(TDD)**:通过这个示例,我们可以理解开发者可能采用了TDD(Test-...
Struts2的单元测试支持使用Mockito等库来创建ActionContext的模拟对象,以便在无实际web容器的情况下运行测试。 2. **Interceptor测试**:拦截器是Struts2中强大的功能,可以在请求处理流程中插入自定义逻辑。测试...
在Struts2中,我们通常使用JUnit作为单元测试工具,结合Mockito等库来模拟依赖,进行隔离测试。 首先,了解Struts2的执行流程:请求到达Servlet容器后,通过StrutsPrepareAndExecuteFilter转发到Struts2的核心拦截...
此外,为了使测试更加独立,通常会避免直接依赖于实际的Servlet容器,而是通过`MockServletConfig`和`MockServletContext`等模拟对象来提供配置信息。 总的来说,“Struts2之Servlet API及单元测试初识案例struts...
还需要确保各框架之间的依赖注入正确无误,例如,Spring需要知道如何实例化并注入Struts2的Action和Hibernate的SessionFactory。 测试是验证整合是否成功的关键步骤,这通常涉及单元测试、集成测试和端到端测试。...
- **Struts2**: Struts2的Action不直接依赖于Servlet API。Action内部并不直接操作`HttpServletRequest`或`HttpServletResponse`。取而代之的是,通过配置将这些对象注入Action中,或者通过拦截器来处理。 #### ...
而 Struts2 尽量减少了对容器的依赖,Action 可以独立于容器进行测试。虽然仍可以访问请求和响应对象,但多数情况下,Struts2 提供了其他方式来处理数据交互。 4. **测试性**: - Struts1 的 Action 测试通常需要...
对于Struts2,Spring可以通过`struts-plugin.xml`与Struts2进行集成,提供Action的依赖注入。此外,还需要配置Spring的数据源、事务管理器以及JPA的实体扫描路径。 3. **JPA配置**:JPA的配置主要涉及`persistence....
由于Struts 1.x中的Action类紧密依赖于Servlet容器,因此对其进行单元测试时会遇到一些挑战。 #### Struts 1.2 中的 Action 类 在Struts 1.2框架中,Action类通常负责处理用户的HTTP请求,并将控制权交给适当的视图...
而Struts2 Action不再直接依赖于容器,可以独立测试,尽管仍可通过容器访问请求和响应,但其他设计减少了对Servlet API的直接依赖。 测试性是两者另一个重要的差异。Struts1的Action由于与Servlet API紧密耦合,...
Struts2项目需要在Java环境中运行,而Tomcat是常用的Servlet容器。 2. **构建项目**:使用IDE(如Eclipse、IntelliJ IDEA)或命令行工具(如Maven或Gradle)将源代码编译为class文件,生成到`WEB-INF/classes`目录...
Struts2 的 Best Practice 包括使用 Maven 或 Gradle 等构建工具来管理依赖、使用 Eclipse 或 MyEclipse 等 IDE 工具来开发和调试项目、使用版本控制系统来管理代码变更等。 Struts2 是一个功能强大且灵活的 Web ...
Struts2主要用于控制应用程序的流程,而Spring则提供了一个全面的轻量级容器,用于管理对象依赖关系、事务处理和数据库操作等。SSH(Spring、Struts2、Hibernate)是Java开发中的经典组合,它们一起构建了强大的MVC...
- **Struts2**:Action不再直接依赖容器,测试可以独立进行,虽然仍能访问请求和响应,但通常不需直接操作。 4. **可测性**: - **Struts1**:由于Action与Servlet API紧密耦合,测试较为困难,需要使用如Struts ...
- `xwork-core.jar`:XWork是Struts2的基础,提供了对象容器、类型转换、动态方法调用等功能。 - `ognl.jar`:Object-Graph Navigation Language,用于表达式语言,处理对象属性的访问和修改。 - `freemarker.jar...
在Struts1中,由于Action的execute方法直接暴露了Servlet API,测试通常需要依赖于容器,而Struts2的Action可以通过依赖注入和模拟对象进行测试,提高了测试的便利性。 输入捕获机制上,Struts1使用ActionForm对象...
整合Struts2和Spring2的主要目标是将Spring的DI功能引入到Struts2的Action类中,使得Action类的依赖可以在Spring容器中被管理。这样,Action类不再需要自行创建依赖对象,而是通过Spring来获取,增强了代码的可维护...