`

容器的测试

 
阅读更多
这几天在研究测试的内容。平时比较关注的内容异常测试,容器内测试
总结一下:主要是根据junit in action这本书
原来理解得太肤浅,简单记录一下
针对srvlet,jsp,ejb可以使用cactus这个框架

以上是测试srvlet的一个简单例子
package com.srvlettest;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;

public class SampleServlet extends HttpServlet
{
    public void saveToSession(HttpServletRequest request)
    {
        String testparam = request.getParameter("testparam");
        request.getSession().setAttribute("testAttribute", testparam);
    }
}

package com.srvlettest;

import junit.framework.Test;
import junit.framework.TestSuite;

import org.apache.cactus.ServletTestCase;
import org.apache.cactus.WebRequest;

public class TestSampleServlet extends ServletTestCase
{
    public TestSampleServlet(String theName)
    {
        super(theName);
    }

    public static Test suite()
    {
        return new TestSuite(TestSampleServlet.class);
    }

    public void beginSaveToSessionOK(WebRequest webRequest)
    {
        webRequest.addParameter("testparam", "it works!");
    }

    public void testSaveToSessionOK()
    {
        SampleServlet servlet = new SampleServlet();
        servlet.saveToSession(request);
        assertEquals("it works!", session.getAttribute("testAttribute"));
    }
}

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<servlet>
  <servlet-name>ServletRedirector</servlet-name>
  <servlet-class>org.apache.cactus.server.ServletTestRedirector</servlet-class>
  <init-param>
    <param-name>param1</param-name>
    <param-value>value1 used for testing</param-value>
  </init-param>
</servlet>

<servlet>
  <servlet-name>ServletTestRunner</servlet-name>
  <servlet-class>org.apache.cactus.server.runner.ServletTestRunner</servlet-class>
</servlet>
  <servlet>
    <description>This is the description of my J2EE component</description>
    <display-name>This is the display name of my J2EE component</display-name>
    <servlet-name>SampleServlet</servlet-name>
    <servlet-class>com.srvlettest.SampleServlet</servlet-class>
  </servlet>


<servlet-mapping>
    <servlet-name>ServletRedirector</servlet-name>
    <url-pattern>/ServletRedirector</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>ServletTestRunner</servlet-name>
    <url-pattern>/ServletTestRunner</url-pattern>
</servlet-mapping>
  <servlet-mapping>
    <servlet-name>SampleServlet</servlet-name>
    <url-pattern>/SampleServlet</url-pattern>
  </servlet-mapping>

  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

异常测试平时觉得理解得不够深入
junit有个很好的测试功能,可以使用@Test ( expected = RuntimeException.class )这样的注解进行异常测试

测试除数为0的异常
  @Test(expected = ArithmeticException.class)
   public void testPrintMessage() {
      System.out.println("Inside testPrintMessage()");    
      messageUtil.printMessage();    
   }

   @Test
   public void testSalutationMessage() {
      System.out.println("Inside testSalutationMessage()");
      message = "Hi!" + "Robert";
      assertEquals(message,messageUtil.salutationMessage());
   }
分享到:
评论

相关推荐

    开放容器测试框架oct.zip

    oct 是用于开放容器的测试用例和框架,用 Go 语言开发。ocp-testing 项目的目标是,通过提供全局测试框架给所有的容器项目,来提高开放容器项目。测试包括,ocp 规范,容器功能和容器性能。框架架构:Open Container...

    C++智能指针及容器测试用例

    通过阅读和运行这些测试,你可以更好地理解智能指针和容器的工作原理,并学习如何在实际项目中有效地使用它们。 总之,C++的智能指针和容器提供了强大的内存管理和数据组织功能,而`CppTest`则为验证这些功能的正确...

    包装印刷现代金属包装容器性能测试.pptx

    1. **金属容器测试内容**: - **力学性能测试**:这包括了拉力试验、涂层附着力测试、漆膜附着性测试、表面质量检查等,旨在确定容器的物理强度和涂层的牢固程度。 - **密封性试验**:气密性试验和封口密封性试验...

    6.5.82、气体灭火系统灭火剂储存容器进场测试记录.zip

    在这个场景中,"6.5.82、气体灭火系统灭火剂储存容器进场测试记录"指的是在气体灭火系统施工中,对储存容器进行入场前的检测和记录,确保其符合安全和功能性的要求。 气体灭火系统主要由储存容器、释放装置、控制...

    Proxmox LXC 容器安装docker

    在这个过程中,我们需要注意一些限制条件,例如只能在 Ubuntu 容器中安装 Docker,CentOS 容器测试不成功。 首先,我们需要安装一个 Ubuntu 或 Debian 的虚拟机,然后编辑配置文件,添加一些必要的参数以便安装 ...

    ActiveX控件测试容器

    ActiveX控件测试容器,全称为TstCon32.exe,是Windows操作系统中用于测试和调试ActiveX控件的一个重要工具。尤其在Windows Vista及Windows 7系统中,它为开发者提供了一个直观的环境,来验证和评估ActiveX(OCX)...

    flask:用于Docker容器测试的简单Flask应用程序

    烧瓶用于Docker容器测试的简单Flask应用程序

    Docker容器性能分析工具cAdvisor.zip

    cAdvisor 是谷歌公司用来分析运行中的 Docker 容器的资源占用以及性能特性的工具。cAdvisor 是一个运行中的守护进程用来收集、聚合、处理和导出运行容器相关的信息,每个容器保持独立的参数、历史资源使用情况和完整...

    ActiveX 控件测试容器TstCon32

    ActiveX控件测试容器TstCon32是一个用于开发者测试和调试ActiveX控件的强大工具。ActiveX技术,由微软开发,是构建基于组件的软件应用程序的一种方式,它允许控件(小型可重用的软件模块)在Internet Explorer或其他...

    Molecular-docker:Molecule Docker驱动程序允许分子用户使用docker容器测试Ansible代码

    Molecular-docker:Molecule Docker驱动程序允许分子用户使用docker容器测试Ansible代码

    ServletContainerTest:Servlet 容器测试

    ServletContainerTest是一个针对Java Servlet容器性能的测试项目。在深入探讨这个主题之前,我们首先要理解什么是Servlet和Servlet容器。 Servlet是Java编程语言中用于扩展Web服务器功能的一种接口。它允许开发者...

    windows-docker-desktop-box:Vagrant框,用于使用Linux Windows容器测试Docker桌面

    windows-docker-desktop-box:Vagrant框,用于使用Linux Windows容器测试Docker桌面

    EJB容器内单元测试指南

    《EJB容器内单元测试指南》 在Java企业版(Enterprise JavaBeans,简称EJB)的开发中,单元测试是一项至关重要的任务,它确保了代码的质量和系统的稳定性。本指南将详细阐述如何在EJB容器内进行有效的单元测试,...

    塑料材料包装容器性能测试.pptx

    塑料材料包装容器性能测试.pptx

    arquillian-junit-container.jar.zip

    《Arquillian与JUnit在容器测试中的应用》 在软件开发过程中,测试是不可或缺的一环,尤其是对于企业级应用来说,确保代码在不同环境下的稳定运行至关重要。Arquillian 和 JUnit 是两个在 Java 测试领域广泛应用的...

    Web容器测试模型选择

    最近被内部问了太多关于jetty测试的问题了,所以这里先写一点开头,...  流入系统(系统完成请求无外部系统依赖,缓存可以考虑成为非外部依赖)  瓶颈在CPU,带宽,内存(容器连接数,线程数)?  流出系统(系统完成请求

    深入Docker的镜像,容器和仓库以及测试下的Docker

    深入Docker的镜像,容器和仓库以及测试下的Docker

    PDF-ArquillianTestingGuide-英文版.rar

    2. 容器测试:Arquillian支持多种Java EE容器,如Glassfish、WildFly、Tomcat等。它允许测试代码直接与这些容器交互,启动、停止、部署和管理测试实例,大大简化了容器级别的测试工作。 3. 测试驱动开发(TDD)与...

Global site tag (gtag.js) - Google Analytics