当程序员编写完成程序的时候,他(她)如果保证程序的正确性呢?当然要进行测试,程序员一般要编写一个程序测试目标程序的正确性。这样的测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。这种基于程序员的测试叫做单元测试。
单元测试原理
    单元测试的原理其实很简单。就是某一条件下测试期待结果和实际结果是否一致。例如我们编写如程序清单2.1所示Java类,该类有一个方法sum。

  1. package com.kingbegin;
  2. public class A {
  3. public int sum() {
  4. return 8;
  5. }
  6. }

我们测试这个类的sum方法,我们可以做一个测试类,在测试类中实例化A类并调用它的sum方法,如果它实际返回值与我们期待值(8)一致的话就说明这个类编写的没有问题,否则就有错误。测试程序如清单2.2所示。

  1. package ch01;
  2. package com.kingbegin;
  3. public class TestA1 {
  4. public static void main(String[] args) {
  5. A a = new A();
  6. if (a.sum() == 8) {
  7. System.out.println("测试结果正确!");
  8. } else {
  9. System.out.println("测试结果不正确!");
  10. }
  11. }
  12. }

这样我们运行测试程序,就可以测试出被测试程序的正确与否了。

STRUTS2单元测试相关推荐

  1. Spring使用到了那些接口/第三方框架

    有人在面试的时候遇到过这个问题,我们在平时工作中并没有注意过这个问题,可能很多东西都用过,而且也会用,但是真的到面试的时候被问到,因为平时没有注意总结过,或因一时紧张就卡壳了,so,在此总结一下. 缓 ...

  2. 单元测试Struts2的Action(包含源码)

    很久没有从头搭建Struts2的环境了.最近,认真实践了单元测试Struts2.Spring等Java项目. 今天特意写的是单元测试Struts2的Action,遇到了不少问题,果然是实践出真知啊. ...

  3. struts2标签详解

    struts2标签讲解 要使用Struts2的标签,只需要在JSP页面添加如下一行定义即可:<%@ taglib prefix="s" uri="/struts-t ...

  4. 框架学习之Spring 第五节 SSH整合开发[Spring2.5+Hibernate3.3+Struts2]

    1.首先整合Spring和Hibernate ①引入jar包: hibernate核心安装包下的: hibernate3.jar lib\required\*.jar lib\optional\ehc ...

  5. Struts2标签库常用标签(转)

    struts2标签讲解 要使用Struts2的标签,只需要在JSP页面添加如下一行定义即可:<%@ taglib prefix="s" uri="/struts-t ...

  6. struts2 开发

    01 Struts2-Action 一.Struts作用: 将请求与结果分开 二.搭建Struts2的运行环境: 1.建立Web项目: 2.建立Struts2的配置文件(struts.xml): 将S ...

  7. 使用Maven搭建Struts2+Spring3+Hibernate4的整合开发环境

    做了三年多的JavaEE开发了,在平时的JavaEE开发中,为了能够用最快的速度开发项目,一般都会选择使用Struts2,SpringMVC,Spring,Hibernate,MyBatis这些开源框 ...

  8. 三层架构 || SpringMVC 和 Struts2 的优略分析

    我们的开发架构一般都是基于两种形式,一种是 C/S 架构,也就是客户端/服务器,另一种是 B/S 架构,也就是浏览器服务器.在 JavaEE 开发中,几乎全都是基于 B/S 架构的开发.那么在 B/S ...

  9. Struts2 学习系列 (2) 访问web资源

    2019独角兽企业重金招聘Python工程师标准>>> 在 Action 中, 可以通过以下方式访问 web 的 HttpSession, HttpServletRequest, H ...

最新文章

  1. 70美元桌面电脑,树莓派400:键盘式集成开发板
  2. Visual Studio中断NPM套件库服务
  3. 为什么要划分物料组_SAP
  4. [UE4]给Widget增加参数,Pre Construct和Construct的区别
  5. Git初学札记(四)————Git Push的常规操作与Pull冲突解决
  6. 1. 性能测试学习指南
  7. Bootstrap 源码版文件结构
  8. 首篇NLP图神经网络综述!127页文档让你全面了解这个领域
  9. python中文读音-python中文谐音 Python 的中文谐音是什么?
  10. Servlet原理图
  11. (转载)北上广深房价只会涨不会降
  12. 30+英文电子书免费下载网站,跟喜欢看英文电子书的朋友分享
  13. selectpicker 清空选项_boostrap selectpicker 用法
  14. HTTP状态码(2xx,3xx,4xx,5xx)
  15. Google Adsense西联快汇收款流程
  16. 性能测试时那些「难以启齿」的问题-CPU相关
  17. 360极速浏览器X——这款全新的浏览器有亿点点好用
  18. 鸿蒙系统沙箱,鸿蒙计划加速!亦来云成操作系统的救命稻草?
  19. 怀旧:制作一款复古风格的游戏
  20. Android APP 奔溃 ,如何在开发者选项观察错误日志

热门文章

  1. 程序员,不要急于学习编程语言,先学会如何解决问题
  2. Linux监控命令之==free
  3. Linux_Shell_ Map 的使用和遍历
  4. 华为MateRS巴黎大皇宫首秀 专为保时捷跑车70周年高定手机
  5. Thinkphp --- 去掉index.php
  6. 融合基础设施会给私有云带来什么?
  7. 在开发流程中嵌入安全测试
  8. struts2中struts.xml和web.xml文件解析及工作原理
  9. WebApi接口安全认证——HTTP之摘要认证
  10. linux中生成考核用的GPT分区表结构修复案例