首页 > 其他分享 >【单元测试】Junit 4(九)--junit4 测试private方法

【单元测试】Junit 4(九)--junit4 测试private方法

时间:2023-03-21 18:34:18浏览次数:39  
标签:name -- age 单元测试 private class int Calculator

直接上代码

Calculator.java

public class Calculator {

	private String name;
	private int age;

	public Calculator(String name, int age) {
		this.name = name;
		this.age = age;
	}

	private int add(int a, int b) {
		return a + b;
	}
}

CalculatorTest.java

import org.junit.Test;

import static org.junit.Assert.*;

import java.lang.reflect.Field;
import java.lang.reflect.Method;

public class CalculatorTest {

	@Test
	public void testAgeField() throws IllegalArgumentException,
			IllegalAccessException {
		String name = "lixiaoqi";
		int age = 100;
		Field[] fa = Calculator.class.getDeclaredFields();
		for (Field f : fa) {
			if (f.getName().equals("age")) {
				f.setAccessible(true);
				Calculator calculator = new Calculator(name, age);
				int result = (int) f.get(calculator);
				assertEquals(age, result);
			}
		}
	}

	@Test
	public void testAddMethod() {
		String name = "lixiaoqi";
		int age = 100;
		Calculator c = new Calculator(name, age);
		Class<Calculator> cal = Calculator.class;
		try {
			Method method = cal.getDeclaredMethod("add", new Class[] {
					int.class, int.class });
			method.setAccessible(true);
			Object obj = method.invoke(c, new Object[] { 100, 2 });
			assertEquals(102, obj);
		} catch (Exception e) {
			fail("-----");
		}
	}
}

标签:name,--,age,单元测试,private,class,int,Calculator
From: https://www.cnblogs.com/hmy71/p/junit_9.html

相关文章

  • Windows 注册系统服务教程(包含bat 脚本)
    一、场景平时会遇到很多需要手动去把一些程序注册成系统服务,例如一些免安装版的中间件、数据库程序等,需要把运行窗口给隐藏起来,做成系统服务管理也方便。一些整理汇总常用的......
  • Docker - 容器更新为镜像
    要更新Docker镜像以包含在容器中安装的新包,请执行以下步骤:确保您在容器中安装的包已保存到容器的镜像层中。您可以通过执行以下命令来检查容器的更改:dockerdiff<co......
  • kali教你路由转发
    #思想主要使用了arp欺骗,使得用户上网先通过你的kali,之后通过kali转发给对应的网关#其他应用既然我们kali,处于中间人,那么用户所操作的所有数据,我们都可以获取到,这里你们可......
  • sc2
    CS2TVT投单坦克两矿一兵营一重工一飞机,4分25左右出门ZVT狗毒爆2:30停气3:50三矿好狗速好5:00大概30条狗6:00四矿,毒爆虫巢7:30半毒爆速度好后面......
  • react 官网学习笔记
    1.元素(html片段)和组件的关系(js函数)2.写组件的方式(function还是class)3.一个括号和两个括号的使用场景{}(获取值/js函数调用){{}}4.props和render都是做什......
  • Wireless: SNR, RSSI信号强度
    rssi值多少为正常rssi值是通讯工程中的专业术语,它代表着无线网络的信号强度,rssi值一般是越大越好的。对于家用情况下的WIFI来说,信号强度-60到-70dBm之间算是信号很好的了......
  • ddc
         ......
  • Hash算法入门和应用场景
    1.Hash是什么,它的作用散列算法(HashAlgorithm),又称哈希算法,杂凑算法,是一种从任意文件中创造小的数字「指纹」的方法。与指纹一样,==散列算法就是一种以较短的信息来保证文件......
  • Apinto Dashboad V2.0 发布:可视化控制台让配置更轻松!
    大家好,Eolink旗下开源网关Apinto本次带来了ApintoDashboadV2.0的版本发布。Dashboad需要与Apinto主版本一起使用,目前Dashboad可兼容Apinto0.12.4以上版......
  • 在map 枚举过程中删去整个map的错误
    Programterminatedwithsignal11,Segmentationfault.#0 0x00007fad0af884c7instd::_Rb_tree_increment(std::_Rb_tree_node_base*)()from/lib64/libstdc++.so.......