Junit测试private方法
- package com.bill99.junit;
- public class ACase {
- private String echoRequest(String request) {
- return "Hello!"+request;
- }
- private String echoRequest() {
- return "Hello!";
- }
- }
- package com.bill99.junit;
- import java.lang.reflect.Method;
- import junit.framework.Assert;
- import org.junit.Before;
- import org.junit.Test;
- public class ACaseTest {
- ACase a =null;
- @Before
- public void setUp() throws Exception {
- a = new ACase();
- }
- @Test
- public void testNoParamEchoRequest() throws Exception {
- //测试没有参数的echoRequest()方法
- Method testNoParamMethod = a.getClass().getDeclaredMethod("echoRequest", null);
- //Method对象继承自java.lang.reflect.AccessibleObject,父类方法setAccessible可调
- //将此对象的 accessible 标志设置为指示的布尔值。值为 true 则指示反射的对象在使用时应该取消 Java 语言访问检查。值为 false 则指示反射的对象应该实施 Java 语言访问检查。
- //要访问私有方法必须将accessible设置为true,否则抛java.lang.IllegalAccessException
- testNoParamMethod.setAccessible(true);
- //调用
- Object result = testNoParamMethod.invoke(a, null);
- System.out.println(result);
- Assert.assertNotNull(result);
- }
- @Test
- public void testParamEchoRequest() throws Exception {
- //测试带有参数的echoRequest(String request)方法
- Method testNoParamMethod = a.getClass().getDeclaredMethod("echoRequest",String.class);
- testNoParamMethod.setAccessible(true);
- //调用
- Object result = testNoParamMethod.invoke(a, "this is a test information");
- System.out.println(result);
- Assert.assertNotNull(result);
- }
- }
https://blog.csdn.net/iameyama/article/details/50411212
IDEA配置junit:
http://www.360doc.com/content/17/0701/11/10072361_667938060.shtml
Junit测试private方法的更多相关文章
- junit测试延伸--方法的重复测试
在实际编码测试中,我们有的时候需要对一个方法进行多次测试,那么怎么办呢?这个问题和测试套件解决的方案一样,我们总不能不停的去右键run as,那怎么办呢?还好伟大的junit帮我们想到了. OK,现在 ...
- 在MS Test中如何测试private方法
前言: 在博客开始之前,我们先讨论一下是否应该对private方法做测试,通常有两种观点: private方法应该被测试: private方法不应该被测试: 我们以下面的代码为例子来进行说明: pub ...
- mock中测试private方法,不是mock
Method method = PowerMockito.method(CategoryController.class, "getCategory",List.class);// ...
- .NET中如何测试Private和Protected方法
TDD是1)写测试2)写通过这些测试的代码,3)然后重构的实践.在,NET社区中, 这个概念逐渐变得非常流行,这归功于它所增加的质量保证.此时,它很容易测试public方法,但是一个普遍的问题出现了, ...
- Java Junit测试框架
Java Junit测试框架 1.相关概念 Ø JUnit:是一个开发源代码的Java测试框架,用于编写和运行可重复的测试.它是用于单元测试框架体系xUnit的一个实例(用于java语言).主要 ...
- [深入JUnit] 为什么别测试private函数
[深入JUnit] 为什么别测试private函数 摘自http://www.tuicool.com/articles/iumaayJ 时间 2016-03-28 10:58:03 SegmentFa ...
- junit测试延伸--私有方法测试
关于junit测试的延伸,这里有类概念级别的测试,继承类的测试,接口的测试,抽象类的测试,关于这些类级别的测试,这里我就不做多的赘述了. 关于上面的几个测试就是说,我们不应该单纯的去测试类中的一些方法 ...
- JUnit 3.8 通过反射测试私有方法
测试私有(private)的方法有两种: 1)把目标类的私有方法(修饰符:private)修改为(public),不推荐,因为修改了源程序不佳 2)通过反射 (推荐) 代码演示: 目标程序 Priva ...
- PHPUnit单元测试中类protected/private方法测试
这里首先有一个问题要考虑的是,这类方法是否要被测试? 理论上,这类方法都会被其它public类型的方法调用,只要对那些public的方法做充分的测试,就可以保证这些方法的可靠性,就没有必要再测了.好像 ...
随机推荐
- JVM EXCEPTION_ACCESS_VIOLATION
## A fatal error has been detected by the Java Runtime Environment:## EXCEPTION_ACCESS_VIOLATION (0x ...
- Spring MVC (Java),强制页面不缓存
response.setDateHeader("Expires",0); response.setHeader("Buffer","Tr ...
- vCenter 异常关机后无法开启ESXi虚拟机的处理.
春节假期一个插排掉电了, 然后vcenter不幸自动关机了. 对虚拟机进行开机时错误提示 前期更改过administrator的密码, 但是忘记同步修改sqlserver启动时的用户了(这里使用adm ...
- 使用 SSH 秘钥远程连接
团队开发中常用到 Git.SVN 等版本控制工具,可以大大提高开发效率. 就是将代码统一放到一个代码仓库中,方便管理. 为了安全起见,每次push.pull 代码的时候,都需要输入用户名.密码, 对于 ...
- php函数值传值/地址以及引用的用法
博客摘自 奔跑的大白,网址: http://www.cnblogs.com/gauze/p/5568867.html 1.先来解释一下名词. 值传递(passl-by-value)过程中,被调函数的 ...
- 二本毕业,我是如何逆袭成为BAT年薪40W的Java工程师的?
身边的师弟师妹经常问到:非计算机专业出身,你是在2年内如何逆袭成BAT年薪40W的资深开发工程师的.其实很简单——努力! 我16年毕业于普通的二本学校,非计算机专业出身,只因为对软件开发感兴趣,所以找 ...
- MySQL中条件放在where后面与放在on后面的区别
假设有两种表:test_on_position表和address表,address表存放地址,test_on_position存放会员及其常用的地址,数据如下: address表: test_on_p ...
- windows 下编程实现打印日志
下面是在windows下编程实现的日志打印,写的比较简单,可以根据实际情况进行修改使用. 宏WRITELOG在vs2013可以正常使用. 在vs2003和vs2010可能会报错,可以直接使用myLog ...
- Python从入门到放弃系列(Django/Flask/爬虫)
第一篇 Django从入门到放弃 第二篇 Flask 第二篇 爬虫
- xslt格式化日期的方法
数据:<PK_SEND_DATE>2007-9-28 0:00:00</PK_SEND_DATE> 通过截取:<xsl:value-of select="sub ...