Junit 测试 servlet--easymock

Junit 测试 servlet--easymock


 

对于要在项目里对servlet进行单元测试,可以使用junit进行,而用junit测试servlet时有两种方法,一种使用httpunit + servlet测试,另一种是easymock + servlet,在这里重点介绍使用easymock方法进行的junit测试。

 

环境:eclipse 3.7 ,  junit 4 ,  easymock 3.1。

 

测试单元代码如下 : 

 

 

Java代码  收藏代码

  1. import static org.junit.Assert.fail;  
    import static org.easymock.EasyMock.*;  
      
    import java.io.IOException;  
      
    import javax.servlet.ServletException;  
    import javax.servlet.http.HttpServletRequest;  
    import javax.servlet.http.HttpServletResponse;  
    import javax.xml.ws.Action;  
      
    import org.junit.After;  
    import org.junit.Before;  
    import org.junit.Test;  
      
    import com.joyveb.award.web.AwardResultServlet;  
      
    public class ResultServletTest {  
      
        private AwardResultServlet servlet;  
        private HttpServletRequest mockRequest;  
        private HttpServletResponse mockResponse;  
          
        @Before  
        public void setUp(){  
            servlet = new ResultServlet();  
              
            mockRequest = createMock(HttpServletRequest.class);         //加载  
            mockResponse = createMock(HttpServletResponse.class);  
        }  
          
        @After  
        public void tearDown(){  
            verify(mockRequest);        //验证  
            verify(mockResponse);  
        }  
          
          
        @Test  
        public void testDoPostHttpServletRequestHttpServletResponse() throws ServletException, IOException {  
              
            mockRequest.getParameter("id");         //传入参数  
            expectLastCall().andReturn("1");  
              
            mockRequest.getParameter("name");       //传入参数  
            expectLastCall().andReturn("chevy");  
              
            mockRequest.getParameter("gender");     //传入参数  
            expectLastCall().andReturn("男");  
              
            replay(mockRequest);                    //回放  
            replay(mockResponse);  
              
            servlet.doPost(mockRequest, mockResponse);  //调用  
                      
        }  
      
    }

 servlet类就可以根据上面定义的类名,简单写个doPost方法就可以进行junit测试了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 JUnit 测试 Java-Spark 可以按照以下步骤进行: 1. 在 pom.xml 文件中添加以下依赖项: ```xml <dependency> <groupId>com.sparkjava</groupId> <artifactId>spark-core</artifactId> <version>2.9.3</version> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>5.7.0</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>5.7.0</version> <scope>test</scope> </dependency> ``` 2. 创建一个测试类,并在类上使用 @ExtendWith(JUnit5.class) 注解。 3. 在测试类中创建一个 Spark 应用程序实例,并在该实例中设置路由。 ```java import static spark.Spark.get; public class SparkAppTest { private SparkApp app; @BeforeEach public void setup() { app = new SparkApp(); app.init(); // Define routes get("/hello", (req, res) -> "Hello World"); get("/hello/:name", (req, res) -> "Hello " + req.params("name")); } @AfterEach public void tearDown() { app.stop(); } @Test public void testHelloWorldRoute() { // Use JUnit assertions to test the route given().when().get("/hello").then().statusCode(200).body(is("Hello World")); } @Test public void testHelloNameRoute() { // Use JUnit assertions to test the route given().when().get("/hello/John").then().statusCode(200).body(is("Hello John")); } } ``` 4. 在测试方法中使用 RestAssured 发送 HTTP 请求,并使用 JUnit 断言来检查响应。 ```java import static io.restassured.RestAssured.given; import static org.hamcrest.Matchers.is; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import io.restassured.RestAssured; import spark.Spark; @ExtendWith(SparkExtension.class) public class SparkAppTest { private SparkApp app; @BeforeEach public void setup() { app = new SparkApp(); app.init(); // Define routes get("/hello", (req, res) -> "Hello World"); get("/hello/:name", (req, res) -> "Hello " + req.params("name")); } @AfterEach public void tearDown() { app.stop(); } @Test public void testHelloWorldRoute() { // Use JUnit assertions to test the route given().when().get("/hello").then().statusCode(200).body(is("Hello World")); } @Test public void testHelloNameRoute() { // Use JUnit assertions to test the route given().when().get("/hello/John").then().statusCode(200).body(is("Hello John")); } } ``` 以上就是使用 JUnit 测试 Java-Spark 的基本步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值