JUnit——Annotation

Annotation是对属性,方法或者类做一个标记  比如@override表示复写了父类中的方法

【1】@Test: 测试方法(说明该方法为测试方法)
a)(expected=XXException.class)
b)(timeout=xxx)

@Test(expected=java.lang.ArithmeticException.class,timeout=100)
 //期待抛出算术异常,并且运行时间限制在100ms以内(通常在测试代码运行效率时这样设置)

public void testDivide(){
          int z = new T().divide(8,0);
          //assertThat(z,is(4));
     }

【2】@Ignore: 被忽略的测试方法
有时候某些方法还不具备测试的条件,暂时还不能测试或者某些方法已经不需要再做测试了,这就可以进行忽略的操作了。
有时方法的测试条件还没满足,整个项目还差一个模块,则可以采用该方法假定测试条件成立。

【3】@Before: 每一个测试方法(@Test方法)之前运行
[email protected]: 每一个测试方法之后运行
应用场合:
有些方法需要执行的时候需要一些先决条件,比如打开某文件,执行完之后需要关闭文件,这就需要before和after操作。

[email protected]: 所有测试开始之前运行
[email protected]: 所有测试结束之后运行

@BeforeClass
     public static void BeforeClass(){
          System.out.println("beforeclass");
     }
    
     @AfterClass
     public static void AfterClass(){
          System.out.println("afterclass");
     }
如果方法不声明为static,则运行后会报错,如下:
java.lang.Exception: Method BeforeClass() should be static

注意:这里方法一定是static,原因在于调用该方法的时候是在所有的类未进行初始化之前进行的,因此只能是静态的。

应用场合:
用在一些当我们在测试之前需要取得一些很耗费时间的资源的时候,或者是需要搭载一些比较耗费时间的配置环境(建立与数据库的连接,搭建数据库连接池;搭建spring环境)的时候,用BeforeClass。需要把资源释放掉或环境卸载掉时,用AfterClass。

Beforeclass与before不同,一个是全局,一个是局部,比如与数据库的链接,肯定是在全局操作之前搭建好,不能执行每个方法的时候都搭建一次,这样的话效率就太低了。

时间: 2024-10-14 07:12:10

JUnit——Annotation的相关文章

Java Unit Testing - JUnit & TestNG

转自https://www3.ntu.edu.sg/home/ehchua/programming/java/JavaUnitTesting.html yet another insignificant programming notes...   |   HOME TABLE OF CONTENTS (SHOW) Java Unit Testing -  & TestNG 1.  Introduction to Unit Testing Framework The various type o

TestRunnerInsertMysqlSingle.groovy

s C:\Users\Lindows\workspace\GroovyTest\src\com\iteye\lindows\mysql\TestRunnerInsertMysqlSingle.groovy 1 package com.iteye.lindows.mysql 2 3 import junit.framework.Assert 4 import net.grinder.script.GTest 5 import net.grinder.scriptengine.groovy.juni

Android单元测试与模拟测试详解

测试与基本规范 为什么需要测试? 为了稳定性,能够明确的了解是否正确的完成开发. 更加易于维护,能够在修改代码后保证功能不被破坏. 集成一些工具,规范开发规范,使得代码更加稳定( 如通过 phabricator differential 发diff时提交需要执行的单元测试,在开发流程上就可以保证远端代码的稳定性). 2. 测什么? 一般单元测试: 列出想要测试覆盖的异常情况,进行验证. 性能测试. 模拟测试: 根据需求,测试用户真正在使用过程中,界面的反馈与显示以及一些依赖系统架构的组件的应用测

基于线上请求的性能测试系统CPC

1.背景 测试人员在设计性能测试脚本时,HTTP请求中的参数往往根据个人经验设置,而测试人员水平参差不齐,设计往往具有局限性,不够全面,不能涵盖全线上真实的请求,故得到的性能测试结果不能够真实反映线上真实的情况. 使用线上环境下的HTTP请求检查软件性能的问题,通过Gor记录线上真实的请求,作为性能测试脚本的请求池,用请求池物料进行性能测试,能真实的反映软件系统在线上环境下的性能指标和问题. 2.概念 2-1.架构图 2-2.技术栈 请求池: Gor: HTTP 录制工具 https://git

nGrinder TestRunnerInsertMysqlMore2.groovy

s C:\Users\Lindows\IdeaProjects\TestGroovy\src\com\iteye\lindows\TestRunnerInsert.groovy package com.iteye.lindows; import junit.framework.Assert import net.grinder.script.GTest import net.grinder.scriptengine.groovy.junit.GrinderRunner import net.gr

ngrinder(二) 压力测试脚本groovy 实战

前言 groovy脚本 ngrinder 的 groovy 脚本是顺序结构的,用户可通过编写脚本执行过程中被预置的函数进行用户操作,完成各种复杂的测试工作. ngrinder 的进程与线程 ngrinder 使用进程和线程来模拟多个用户.例如,如果您设置了如下的测试.只有一个代理将被激活,1个进程将被调用,然后这个进程将包括2个运行线程.每个线程的行为就像1个用户.因此,2个虚拟用户正在运行.如果将代理计数增加到2,则总共有4个虚拟用户(Vusers). 并发量=代理数x进程数x线程数如果在Vu

性能测试四十九:ngrinder压测平台

直接上ngrinder官网下载 ngrinder工作原理:这里的controller就是ngrinder平台 部署(以windows为例): 把下载下来的ngrinder-controller.war重命名为ngrinder.war放到tomcat下面,启动tomcat 启动完浏览器访问:http://localhost:8080/ngrinder 默认用户名admin,密码admin,选择中文 登录成功后下载agent和monitor 解压并启动agent 在机器足够的情况下,应该把agent

nGrinder SocketTest.groovy

s import net.grinder.plugin.http.HTTPRequest import net.grinder.script.GTest import net.grinder.scriptengine.groovy.junit.GrinderRunner import net.grinder.scriptengine.groovy.junit.annotation.BeforeProcess import net.grinder.scriptengine.groovy.junit

基于Groovy搭建Ngrinder脚本调试环境

介绍 最近公司搭建了一套压力测试平台,引用的是开源的项目 Ngrinder,做了二次开发,在脚本管理方面,去掉官方的SVN,引用的是Git,其他就是做了熔断处理等. 对技术一向充满热情的我,必须先来拥抱下传说中的压测平台. 一.开发脚本环境配置项: 安装JDK1.7+,Git,Maven 二.新建一个maven项目 三.创建一个groovy脚本TestRunner.groovy,添加以下内容 这个脚本写的就是,向服务端发送Json 格式请求,比较简单,未涉及到上下文参数化,混合场景配置比例,方法