`

使用Mock对Servlet进行Junit单元测试

 
阅读更多

使用jar包:mockito-all-1.8.5.jar 和Junit4

import static org.mockito.BDDMockito.given;

import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;

import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.dom4j.DocumentException;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;

import au.com.aiaa.claims.util.BeanMapperUtil;

import junit.framework.Assert;

public class UserServletTest {
    @Mock
    private HttpServletRequest request;
    @Mock
    private HttpServletResponse response;
    @Mock
    private ServletConfig servletConfig;
    @Mock
    private ServletContext servletContext;
    private UserServlet instance;

    @Before
    public void init() throws IOException {
        MockitoAnnotations.initMocks(this);
        instance = new UserServlet ();
   }

    @Test
    public void testVersionServlet() throws Exception {
        instance.init(servletConfig);
        given(servletConfig.getServletContext()).willReturn(servletContext);
        PrintWriter pw = new PrintWriter(System.out, true);
        given(response.getWriter()).willReturn(pw);
        instance.doGet(request, response);
        pw.flush();
        verify(response);
    }

    private void verify(HttpServletResponse response) {
        Assert.assertNotNull(response);
    }
}

 

分享到:
评论

相关推荐

    3-Mock-Servlet.rar

    使用Mock Servlet可以更高效地进行单元测试,验证单个Servlet的行为,而不是整个应用。同时,它还能帮助测试异常处理、生命周期方法(如`init()`和`destroy()`)以及Servlet间的协作。通过这个压缩包,学习者可以...

    27. Spring Boot Junit单元测试【从零开始学Spring Boot】

    Spring Boot提供了对JUnit的内置支持,使得我们能够方便地对Spring组件进行测试。首先,我们需要在项目的`pom.xml`或`build.gradle`文件中引入JUnit的依赖: ```xml <groupId>org.springframework.boot ...

    junit mock

    JUnit是Java领域广泛使用的单元测试框架,它允许程序员对代码的各个部分进行独立验证,确保它们按照预期工作。单元测试是对软件中的最小可测试单元进行检查和验证,通常是单个函数、方法或类。它的目的是在开发过程...

    junit_MockServlet例子

    "junit_MockServlet例子"是一个示例项目,它展示了如何使用JUnit和MockServlet进行Servlet的单元测试。在这个例子中,我们可能会遇到以下几个关键知识点: 1. JUnit框架:JUnit是Java编程语言的一个单元测试框架,...

    servlet测试jar包

    `junit`和`easymock`是两个非常重要的Java测试工具,它们可以帮助我们有效地对Servlet进行单元测试和模拟测试。 `junit`是一个流行的开源单元测试框架,它为Java程序员提供了一种方便的方式来编写和运行可重复的...

    mock struts1 测试

    本文详细介绍了如何使用Mock技术来进行Struts1框架的单元测试。通过引入StrutsTest框架,并结合具体的示例代码,展示了如何在不启动Web容器的情况下模拟HTTP请求响应过程,从而更高效地完成单元测试工作。这对于提高...

    spring3 junit 测试 + word

    在这个“spring3 junit 测试”主题中,我们将深入探讨如何在Spring3环境中集成和使用JUnit进行单元测试。Spring3提供了对JUnit的内置支持,允许我们在测试上下文中注入依赖,模拟服务,以及使用其强大的测试支持类。...

    Spring3单元测试和集成测试

    单元测试是指针对代码中的最小可测试单元进行的测试,通常是一个方法。在Spring3中,我们可以使用JUnit作为主要的测试框架,结合`@RunWith(SpringJUnit4ClassRunner.class)`注解来启动Spring上下文,使得测试类能够...

    Struts2框架单元测试代码

    在Struts2中,我们通常使用JUnit作为单元测试工具,结合Mockito等库来模拟依赖,进行隔离测试。 首先,了解Struts2的执行流程:请求到达Servlet容器后,通过StrutsPrepareAndExecuteFilter转发到Struts2的核心拦截...

    junit api英文版

    JUnit可以很好地与EJB、Servlet和JSP等J2EE组件结合,进行单元测试。 4. 测试实践: - 单元测试原则:每个测试用例应独立且原子,不应依赖其他测试用例,确保每次运行都能得到可预测的结果。 - TDD(测试驱动开发...

    JUnit是什么?介绍

    在实践中,使用 JUnit 进行单元测试时,遵循一些最佳实践可以提高测试的质量和效率: 1. **单一测试原则**:每个测试方法应专注于测试单个功能或行为,以便于定位问题。 2. **有意义的测试方法名**:测试方法的...

    spring单元测试

    在本文中,我们将深入探讨如何使用Spring框架进行单元测试,特别是在一个基于Java配置的Web项目中。我们将重点关注如何集成H2内存数据库以简化测试过程,以及如何针对Controller层和服务层进行有效的测试。 首先,...

    SpringBoot2种单元测试方法解析

    SpringBoot2种单元测试方法解析 在本文中,我们将详细介绍两种常用的 SpringBoot 单元测试方法,并通过示例代码对其进行了详细...因此,在 Spring Boot 项目中,我们应该尽量使用单元测试来保障代码的正确性和可靠性。

    java成都新锐科技发展有限责任公司,单元测试编写规范

    - 使用知名的测试框架,如JUnit、TestNG等,它们提供了丰富的断言方法和测试注解。 - 测试用例应具有独立性,每个测试用例的执行不应依赖于其他测试用例的结果。 - 测试用例应覆盖所有可能的执行路径,确保代码的...

    详解Spring MVC如何测试Controller(使用springmvc mock测试)

    1. `@RunWith(SpringJUnit4ClassRunner.class)`:指示使用Spring Test组件进行单元测试。 2. `@WebAppConfiguration`:使用此注解会在运行单元测试时启动一个模拟的Web服务环境,用于调用Controller的REST API,测试...

    Java_源代码的课程春季启动单元测试.zip

    在`src/test/java`目录下,您可能会看到使用JUnit编写的单元测试类,这些类通常以`*Test.java`为后缀。 通过研究和实践这个课程中的示例,开发者将学会如何编写和运行针对Spring Boot应用的单元测试,包括: 1. ...

    easymock测试servlet

    Mocking在软件开发中是一种非常重要的测试技术,它允许开发者模拟复杂的系统组件,如外部服务、数据库连接或在本例中的Servlet,以便于隔离和测试单个代码单元。Easymock是一个流行的Java库,它提供了创建和管理模拟...

    servlettest

    3. **设置Mock对象**:如果Servlet依赖于其他服务或组件,可以使用Mockito等库来创建Mock对象,以便在测试中控制这些依赖的返回值。 4. **构造HTTP请求**:使用httpunit的`WebConnection`或`WebClient`对象来构建...

    Struts 1.2 如何测试ActionPDF

    由于Struts 1.x中的Action类紧密依赖于Servlet容器,因此对其进行单元测试时会遇到一些挑战。 #### Struts 1.2 中的 Action 类 在Struts 1.2框架中,Action类通常负责处理用户的HTTP请求,并将控制权交给适当的视图...

    JUnit.in.Action中文版

    ·用mock objects进行隔离测试(★★★★★) ... ·对如下内容进行单元测试  ◆Java应用程序(★★)  ◆Filter  ◆Servlet (★★★★)   ◆EJB  ◆JSP (★★★)  ◆数据库应用程序(★★)  ◆Taglib

Global site tag (gtag.js) - Google Analytics