Junit测试用例不是用来证明你是对的,而是用来证明你没有错





1.功能

  -在项目未在浏览器运行之前对获得的结果和预期的结果进行比较调试,减少BUG和发布时的修复工作

2.测试类和代码类应分开存放.在src目录下new一个Test资源目录

3.JUnit Test Case

  可以对类中的方法生成测试方法

4.//方法中第一个参数为预测获得的结果,第二个为实际运行结果

    将预测结果和运行实际值进行比较

    assertEquals(6, new Arithmetic().multiplication(2, 3));

5.Failure -- 一般有单元测试使用的断言方法判断失败所引起的,这表示测试点发现了问题,就是说程序输出结果和我们预期的不一致

  error -- 一般由代码异常引起,它可以产生于测试代码本身的错误,也可以是被测试代码中的一个隐藏的BUG

6.运行流程

  -BeforeClass -- 所有加载开始前运行一次.适用于加载配置文件等只需运行一次的代码块

  -AfterClass  -- 所有代码运行完成后加载一次.适用于关闭资源

  --整个流程中只会存在一个beforeClass和AfterClass实例

  

  -before/after -- 每次加载Test时都会运行,适用于想随程序运行执行的静态代码块

7.注解详解

  -@Test

    --@Test(expected=anyException.class)

      ---预测程序会抛出何种异常,若抛出则忽略

    --@Test(timeout=any mm)

      --- 此修饰将在any毫秒后结束测试

  -@Ignore

    --此修饰符下的方法会被测试运行器忽略

  -@RunWith

    --可以更改(定制)自己的运行器 org.junit.runner.Runner

8.import static org.junit.Assert.*;断言

9.测试套件

  将测试运行器更改为Suite.class

  用SuiteClasses将测试类包裹其中

  @RunWith(Suite.class)

  @SuiteClasses({Task1Test.class,Task2Test.class,Task3Test.class})

10.参数化设置

  -更改默认测试运行器为RunWith(Parameterized.class)

  -声明变量来存放预期值和结果值

  -声明一个返回值为Collection的公共静态方法,并使用@Parameters进行修饰

-为测试类声明一个带有参数的公共构造函数,并在其中为之声明变量赋值

http://blog.csdn.net/jacxuan/article/details/53454819

使用Junit4对web项目进行测试(一)Junit初配置的更多相关文章

  1. Java Web项目中连接Access数据库的配置方法

    本文是对前几天的"JDBC连接Access数据库的几种方式"这篇的升级.因为在做一些小项目的时候遇到的问题,因此才决定写这篇博客的.昨天已经将博客公布了.可是后来经过一些验证有点问 ...

  2. IDEA中WEB项目本地调试和发布的配置分开配置

    一个Web项目,开发的时候设置了一些本地内容,比如IP地址,还有本地目录等.开发完成后,要发布到服务器上时,这些本地相关的配置,就需要配置成服务器上IP或目录. 原先的做法就是部署打包的时候,把相关的 ...

  3. Web项目后台测试流程

    1. 本地下载项目源码 1. Git clone项目代码到本地(本地项目代码1)并fetch: 2. Switch到master分支: 3. Create测试分支(例如:test1)并勾选“Switc ...

  4. IntelliJ IDEA WEB项目的部署配置

    以下内容是我网上找的比较全面了,其中关于facets配置很多地方都没有说明,其实很重要,我加入了自己的理解.其他来自网络.在导入一个项目有问题时,建议先创建一个正确的web项目,然后对比配置项,一般就 ...

  5. Maven3路程(三)用Maven创建第一个web项目(2)servlet演示

    上一章用Maven新建了web项目成功后,本文演示在此基础上应用servlet. 1.首先修改pom.xml文件,添加servlet依赖 <project xmlns="http:// ...

  6. IDEA下使用maven构建web项目(SpringMVC+Mybatis整合)

    需求背景:由于最近总是接到一些需求,需要配合前端团队快速建设移动端UI应用或web应用及后台业务逻辑支撑的需求,若每次都复用之前复杂业务应用的项目代码,总会携带很多暂时不会用到的功能或组件,这样的初始 ...

  7. java web:在eclipse中如何创建java web 项目

    Eclipse创建java web工程 eclipse版本:eclipse-jee-4.5-win32-x64 tomcat版本:apache-tomcat-7.0.63-windows-x64 jd ...

  8. eclipse: eclipse创建java web项目

    Eclipse创建java web工程 eclipse版本:eclipse-jee-4.5-win32-x64 tomcat版本:apache-tomcat-7.0.63-windows-x64 jd ...

  9. nginx + flask + uwsgi + centos + python3 搭建web项目

    1. python3之前已经搭建好,安装flask,使用 pip3 intall flask,这个比较简单,就不过多介绍 2.我在 /usr/local/nginx/html3  (html3是我新建 ...

随机推荐

  1. 3.2 Lucene实战:一个简单的小程序

    在讲解Lucene索引和检索的原理之前,我们先来实战Lucene:一个简单的小程序! 一.索引小程序 首先,new一个java project,名字叫做LuceneIndex. 然后,在project ...

  2. iframe操作(跨域解决等)

    note:当页面内嵌入一个iframe实际上是在dom上新建了一个新的完整的window对象 iframe中取得主窗体 window.top (顶级窗口的window对象) window.parent ...

  3. HDU1892 See you~

    Time Limit: 5000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Submission( ...

  4. Sqlite 修改字段的名称。

    Sqlite 不支持直接修改字段的名称. 我们可以使用别的方法来实现修改字段名. 1.修改原表的名称 ALTER TABLE table RENAME TO tableOld; 2.新建修改字段后的表 ...

  5. system call hooking 系统调用增加或劫持

    1. 引言:这篇文章提供了一种增加自定义系统调用或劫持原有的系统调用的实现方法,只针对 linux 系统.主要思路是获取系统调用表 sys_call_table 地址,然后用新函数地址覆盖系统调用表某 ...

  6. Java解决跨域的方案

    在后台加上,在数据返回之前添加 response.setHeader("Access-Control-Allow-Origin","*"); 就可以了,前台不用 ...

  7. C#中使用7Z进行压缩解压

    SevenZipSharp相关文档下载地址: http://sevenzipsharp.codeplex.com/releases/view/51254 1. 解决方案中添加引用:SevenZipSh ...

  8. Python的网络编程[1] -> FTP 协议[2] -> 使用 ftplib 建立 FTP 客户端

    使用 ftplib 建立 FTP 客户端 用于建立FTP Client,与 pyftplib 建立的 Server 进行通信. 快速导航 1. 模块信息 2. 建立 FTP 客户端 1. 模块信息 1 ...

  9. App Class Loader

    Java本身是一种设计的非常简单,非常精巧的语言,所以Java背后的原理也很简单,归结起来就是两点: 1.JVM的内存管理 理解了这一点,所有和对象相关的问题统统都能解决 2.JVM Class Lo ...

  10. Java字符串(String)

    从表面上看,字符串就是双引号之间的数据,例如“微学苑”.“http://www.weixueyuan.net”等.在Java中,可以使用下面的方法定义字符串:    String stringName ...