1. package com.bill99.junit;
  2. public class ACase {
  3. private String echoRequest(String request) {
  4. return "Hello!"+request;
  5. }
  6. private String echoRequest() {
  7. return "Hello!";
  8. }
  9. }
  10.  
  1. package com.bill99.junit;
  2. import java.lang.reflect.Method;
  3. import junit.framework.Assert;
  4. import org.junit.Before;
  5. import org.junit.Test;
  6. public class ACaseTest {
  7. ACase a =null;
  8. @Before
  9. public void setUp() throws Exception {
  10. a = new ACase();
  11. }
  12. @Test
  13. public void testNoParamEchoRequest() throws Exception {
  14. //测试没有参数的echoRequest()方法
  15. Method testNoParamMethod = a.getClass().getDeclaredMethod("echoRequest", null);
  16. //Method对象继承自java.lang.reflect.AccessibleObject,父类方法setAccessible可调
  17. //将此对象的 accessible 标志设置为指示的布尔值。值为 true 则指示反射的对象在使用时应该取消 Java 语言访问检查。值为 false 则指示反射的对象应该实施 Java 语言访问检查。
  18. //要访问私有方法必须将accessible设置为true,否则抛java.lang.IllegalAccessException
  19. testNoParamMethod.setAccessible(true);
  20. //调用
  21. Object result = testNoParamMethod.invoke(a, null);
  22. System.out.println(result);
  23. Assert.assertNotNull(result);
  24. }
  25. @Test
  26. public void testParamEchoRequest() throws Exception {
  27. //测试带有参数的echoRequest(String request)方法
  28. Method testNoParamMethod = a.getClass().getDeclaredMethod("echoRequest",String.class);
  29. testNoParamMethod.setAccessible(true);
  30. //调用
  31. Object result = testNoParamMethod.invoke(a, "this is a test information");
  32. System.out.println(result);
  33. Assert.assertNotNull(result);
  34. }
  35. }

https://blog.csdn.net/iameyama/article/details/50411212

IDEA配置junit:

http://www.360doc.com/content/17/0701/11/10072361_667938060.shtml

Junit测试private方法的更多相关文章

  1. junit测试延伸--方法的重复测试

    在实际编码测试中,我们有的时候需要对一个方法进行多次测试,那么怎么办呢?这个问题和测试套件解决的方案一样,我们总不能不停的去右键run as,那怎么办呢?还好伟大的junit帮我们想到了. OK,现在 ...

  2. 在MS Test中如何测试private方法

    前言: 在博客开始之前,我们先讨论一下是否应该对private方法做测试,通常有两种观点: private方法应该被测试: private方法不应该被测试: 我们以下面的代码为例子来进行说明: pub ...

  3. mock中测试private方法,不是mock

    Method method = PowerMockito.method(CategoryController.class, "getCategory",List.class);// ...

  4. .NET中如何测试Private和Protected方法

    TDD是1)写测试2)写通过这些测试的代码,3)然后重构的实践.在,NET社区中, 这个概念逐渐变得非常流行,这归功于它所增加的质量保证.此时,它很容易测试public方法,但是一个普遍的问题出现了, ...

  5. Java Junit测试框架

    Java    Junit测试框架 1.相关概念 Ø JUnit:是一个开发源代码的Java测试框架,用于编写和运行可重复的测试.它是用于单元测试框架体系xUnit的一个实例(用于java语言).主要 ...

  6. [深入JUnit] 为什么别测试private函数

    [深入JUnit] 为什么别测试private函数 摘自http://www.tuicool.com/articles/iumaayJ 时间 2016-03-28 10:58:03 SegmentFa ...

  7. junit测试延伸--私有方法测试

    关于junit测试的延伸,这里有类概念级别的测试,继承类的测试,接口的测试,抽象类的测试,关于这些类级别的测试,这里我就不做多的赘述了. 关于上面的几个测试就是说,我们不应该单纯的去测试类中的一些方法 ...

  8. JUnit 3.8 通过反射测试私有方法

    测试私有(private)的方法有两种: 1)把目标类的私有方法(修饰符:private)修改为(public),不推荐,因为修改了源程序不佳 2)通过反射 (推荐) 代码演示: 目标程序 Priva ...

  9. PHPUnit单元测试中类protected/private方法测试

    这里首先有一个问题要考虑的是,这类方法是否要被测试? 理论上,这类方法都会被其它public类型的方法调用,只要对那些public的方法做充分的测试,就可以保证这些方法的可靠性,就没有必要再测了.好像 ...

随机推荐

  1. JVM EXCEPTION_ACCESS_VIOLATION

    ## A fatal error has been detected by the Java Runtime Environment:## EXCEPTION_ACCESS_VIOLATION (0x ...

  2. Spring MVC (Java),强制页面不缓存

    response.setDateHeader("Expires",0);        response.setHeader("Buffer","Tr ...

  3. vCenter 异常关机后无法开启ESXi虚拟机的处理.

    春节假期一个插排掉电了, 然后vcenter不幸自动关机了. 对虚拟机进行开机时错误提示 前期更改过administrator的密码, 但是忘记同步修改sqlserver启动时的用户了(这里使用adm ...

  4. 使用 SSH 秘钥远程连接

    团队开发中常用到 Git.SVN 等版本控制工具,可以大大提高开发效率. 就是将代码统一放到一个代码仓库中,方便管理. 为了安全起见,每次push.pull 代码的时候,都需要输入用户名.密码, 对于 ...

  5. php函数值传值/地址以及引用的用法

    博客摘自  奔跑的大白,网址: http://www.cnblogs.com/gauze/p/5568867.html 1.先来解释一下名词. 值传递(passl-by-value)过程中,被调函数的 ...

  6. 二本毕业,我是如何逆袭成为BAT年薪40W的Java工程师的?

    身边的师弟师妹经常问到:非计算机专业出身,你是在2年内如何逆袭成BAT年薪40W的资深开发工程师的.其实很简单——努力! 我16年毕业于普通的二本学校,非计算机专业出身,只因为对软件开发感兴趣,所以找 ...

  7. MySQL中条件放在where后面与放在on后面的区别

    假设有两种表:test_on_position表和address表,address表存放地址,test_on_position存放会员及其常用的地址,数据如下: address表: test_on_p ...

  8. windows 下编程实现打印日志

    下面是在windows下编程实现的日志打印,写的比较简单,可以根据实际情况进行修改使用. 宏WRITELOG在vs2013可以正常使用. 在vs2003和vs2010可能会报错,可以直接使用myLog ...

  9. Python从入门到放弃系列(Django/Flask/爬虫)

    第一篇 Django从入门到放弃 第二篇 Flask 第二篇 爬虫

  10. xslt格式化日期的方法

    数据:<PK_SEND_DATE>2007-9-28 0:00:00</PK_SEND_DATE> 通过截取:<xsl:value-of select="sub ...