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. Running kubernetes on windows

    docker-for-desktop minikube GKE cluster(?) docker-for-desktop https://docs.docker.com/docker-for-win ...

  2. MySQL服务器监控注意事项

    当开发,测试,生产的数据库环境配置不一致(比如:配置字符集不同)时而导致特殊现象时,可以从Navicat的<工具>-<服务器监控>-<变量>里查找原因.

  3. [转帖]关于网络编程中MTU、TCP、UDP优化配置的一些总结

    关于网络编程中MTU.TCP.UDP优化配置的一些总结 https://www.cnblogs.com/maowang1991/archive/2013/04/15/3022955.html 感谢原作 ...

  4. [转自知乎]飞腾国产CPU的部分知识

    1. 作者:常成链接:https://www.zhihu.com/question/48948852/answer/113595308来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...

  5. 使用 py.test 对 python 代码进行测试

    其实以前我记得有人对我说过,写代码甚至可以先写完测试之后部署好了再开始写逻辑代码.我觉得有点吃惊和奇怪,这不是扯淡吗? 但是这次在完成了积分支付第一阶段开发之后我意识到,这可能并不是开玩笑,特别是项目 ...

  6. DELPHI 解决DBGrid SHIFT键多选问题

    在实际项目中,偶然遇到需要按下SHIFT键,在DBGrid中进行多选的情况,测试了几种方法,最终确定了一个比较好的解决方法,总结如下: procedure TTestFrame.TestDBGridM ...

  7. codeforces3A

    Shortest path of the king CodeForces - 3A 棋盘上的国王被单独放置.尽管他是孤独的,但并未伤心,因为他有事关全局的重要性.例如,他必须正式访问方格 t .由于国 ...

  8. Codeforces Round #276 (Div. 1) E. Sign on Fence (二分答案 主席树 区间合并)

    链接:http://codeforces.com/contest/484/problem/E 题意: 给你n个数的,每个数代表高度: 再给出m个询问,每次询问[l,r]区间内连续w个数的最大的最小值: ...

  9. 自学Linux Shell6.1-环境变量概念

    点击返回 自学Linux命令行与Shell脚本之路 6.1-环境变量概念 环境变量 在Linux中,很多程序和脚本都通过环境变量来获取系统信息.存储临时数据和配置信息: bash shell使用环境变 ...

  10. 自学Linux Shell12.7-控制循环break、continue命令

    点击返回 自学Linux命令行与Shell脚本之路 12.7-控制循环break.continue命令 break命令.break命令用于跳出循环,使用break可以跳出任何类型的循环:for.whi ...