Junit-4.12 测试方法『详解』

这篇具有很好参考价值的文章主要介绍了Junit-4.12 测试方法『详解』。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

代码如下:

package com.wang;

import java.lang.reflect.Method;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.assertEquals;

public class CommonCheckerTest {

	commonChecker conc = new commonChecker();

	Method method;

	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
	}

	@AfterClass
	public static void tearDownAfterClass() throws Exception {
	}

	@Before
	public void setUp() throws Exception {
		method = conc.getClass().getDeclaredMethod("convertZnkk", WebTblCtrl.class, short.class);
		method.setAccessible(true);
	}

	@After
	public void tearDown() throws Exception {
	}

	@Test
	public void test_convert_0010() {
		try {
			WebTblCtrl webTblCtrl = new WebTblCtrl();
			webTblCtrl.setValue("");

			boolean tof = (boolean) method.invoke(conc, webTblCtrl, (short) 0);

			assertEquals(true, tof);
			assertEquals("", webTblCtrl.getValue());

		} catch (Exception e) {
			// TODO: handle exception
		}
	}
}


总结如下

@BeforeClass
修饰的方法会在所有方法被调用前执行,且该方法时静态的,所以当测试类被加载后就接着运行它,而且在内存中他只会存在一份实例,他比较适合加载配置文件(针对所有测试,只执行一次 )

@AfterClass
所修饰的方法通常用来对资源管理,如关闭数据库连接(针对所有测试,只执行一次 )。

@Before@After 会在每个测试方法前后各执行一次。

@Test:测试方法,在这里可以测试期望异常超时时间

java.lang.reflect.Method
一个java.lang.reflect.Method对象提供关于类或者接口上单个方法的信息访问,所反射的方法可以是类方法或实例方法(包括抽象方法);一个Method方法匹配实际参数时允许加宽转换,但是如果调用实际参数时变窄转换将会抛出IllegalArgumentException异常;文章来源地址https://www.toymoban.com/news/detail-512235.html

import java.lang.reflect.Method;

	Method method;
	method = conc.getClass().getDeclaredMethod("convertZnkk", WebTblCtrl.class, short.class);
	method.setAccessible(true);
	boolean tof = (boolean) method.invoke(conc, webTblCtrl, (short) 0);
	
    System.out.println("--------------getDeclaredMethod--------------------------");
        /**
         * 返回在指定Class对象或者接口中声明的Method对象;如果同一个类中声明了一个以上的具有相同
         * 参数类型的方法,并且其中一个方法具有比其它任何类型更具体的返回类型,则返回该方法;否则,
         * 任意选择一个方法返回;
         * 
         */
         Class<?> clazz = MethodTest.class;
        Method method3 = clazz.getDeclaredMethod("setAge", new Class[] {int.class});

Method对象中方法详解
  • invoke
        MethodTest obj = new MethodTest();
        /**
         * 调用由这个方法对象表示的基础方法,具有指定参数的指定对象;单个参数会自动的解包以匹配原始
         * 类型参数,并且原始和引用类型参数都在必要是服从方法调用的类型转换;
         * 
         * 如果基础方法是静态的,则忽略指定的参数,他可能为null;
         * 
         * 如果基础方法所需的形式参数数量为0,则提供的参数数组可以为长度为0的数组或者null;
         * 
         * 如果基础方法是实例方法,则使用Java语言规范(第二版第152.4.4节)中所记录的动态方法查找来调用;
         * 特别是,将基于目标对象的运行时类型重写。
         * 
         * 如果基础方法是静态的,则声明该方法的类如果尚未初始化则初始化。
         * 
         * 如果该方法正常完成,返回的值将返回给调用方的调用方;如果该值具有一个原始类型,
         * 则它首先被适当地包裹在一个对象中。但是,如果值具有原始类型数组的类型,则数组中
         * 的元素是包在对象中的<i>不</i>;换句话说,返回一个原始类型数组。如果基础方法返回类型无效,
         * 则调用返回null。
         * 
         * @param obj 调用基础方法的对象;
         * @param args方法调用中使用的参数;
         * @return 将该对象表示的方法使用给定参数调用的结果;
         * 
         * @exception IllegalAccessException、IllegalArgumentException、InvocationTargetException
         * 、NullPointerException、ExceptionInInitializerError
         */
        Object result = method.invoke(obj, 1);

到了这里,关于Junit-4.12 测试方法『详解』的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Mysql学习笔记(更新至4.12 权限管理和备份)

    数据库xxx语言 CRUD 增删改查 DDL 定义 DML 操作 DQL 查询 DCL 控制 操作数据库操作数据库中的表操作数据库中表的数据 mysql不区分大小写 !! 创建数据库 删除数据库 使用数据库 查询数据库 数字 unsigned: 无符号的整数 声明了该列不能填充负数 zerofill: 0填充的 不足位数

    2023年04月12日
    浏览(36)
  • 好马配好鞍:Linux Kernel 4.12 正式发布

    Linus Torvalds 在内核邮件列表上宣布释出 Linux 4.12,Linux 4.12 的主要特性包括: BFQ 和 Kyber block I/O 调度器,livepatch 改用混合一致性模型,信任的执行环境框架,epoll 加入 busy poll 支持等等,其它还包括文件系统、加密和安全方面的改进,架构更新、新硬件支持和驱动如 AMD Rad

    2024年02月10日
    浏览(48)
  • 4.12 TCP 连接,一端断电和进程崩溃有什么区别?

    目录 TCP keepalive TCP 的保活机制 主机崩溃 进程崩溃 有数据传输的场景 客户端主机宕机,又迅速重启 客户端主机宕机,一直没有重启 TCP连接服务器宕机和进程退出情况总结 TCP 保活机制需要通过 socket 接口设置  SO_KEEPALIVE  选项才能够生效         定义一个时间段,如果

    2024年02月11日
    浏览(30)
  • junit测试简单代码

    根据下列流程图编写程序实现相应分析处理并显示结果。返回结果“a=x:”(x为2、3或4);其中变量x、y均须为整型。编写程序代码,使用JUnit框架编写测试类对编写的程序代码进行测试,测试类中设计最少的测试数据满足语句覆盖测试,每条测试数据需要在测试类中编写一

    2024年02月12日
    浏览(23)
  • 【软件测试】JUnit详解

    JUnit 是一个用于 编写和运行Java程序单元测试的开源框架 。 它提供了一组注解和断言方法,以及用于执行测试的测试运行器。通过使用JUnit,开发人员可以轻松地编写自动化测试用例,验证代码的正确性,并且能够快速地发现和修复bug。JUnit的使用可以提高代码的质量和可维

    2024年02月07日
    浏览(41)
  • Junit 单元测试(详解)

    本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主!也许一个人独行,可以走的很快,但是一群人结伴而行,才能走的更远! JUnit 是一种流行的单元测试框架,它可以帮助开发人员编写、运行和调试单元测试,以确保代码的

    2023年04月15日
    浏览(37)
  • 【软件测试】单元测试工具---Junit详解

    JUnit是一个Java语言的单元测试框架。 虽然我们已经学习了selenium测试框架,但是有的时候测试用例很多,我们需要一个测试工具来管理这些测试用例,Junit就是一个很好的管理工具,简单来说Junit是一个针对Java单元测试的框架。Junit由Junit Platform _ Junit Jupiter + junit Vintage3部分组

    2024年02月15日
    浏览(44)
  • 单元测试Junit使用与详解

    一、什么是单元测试 在平时的开发当中,一个项目往往包含了大量的方法,可能有成千上万个。如何去保证这些方法产生的结果是我们想要的呢?当然了,最容易想到的一个方式,就是我们通过System.out来输出我们的结果,看看是不是满足我们的需求,但是项目中这些成千上

    2024年02月02日
    浏览(46)
  • Junit5单元测试框架详解

    前面我们学习了Selenium自动化测试框架,但是有的时候测试用例会很多,我们需要一个工具来管理这些测试用例,而Junit就是一个很好的管理工具,简单点来说,Junit就是一个针对Java的单元测试框架; 目录 一. 关于Junit5 二. Junit使用 2.1 添加Maven依赖 2.2 注解 2.3 断言 2.4 套件

    2024年02月06日
    浏览(49)
  • JUnit5-单元测试操作详解

    JUnit 5是JUnit测试框架的下一个主要版本,用于编写和运行单元测试。 与以前版本的 JUnit 不同,JUnit 5 由来自三个不同子项目的多个不同模块组成。 JUnit 5 =  JUnit 平台 +  JUnit Jupiter  +  JUnit Vintage JUnit 平台 是在 JVM 上启动测试框架的基础。它还定义了 TestEngine 用于开发在平台

    2024年04月10日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包