`
sunnylocus
  • 浏览: 876804 次
  • 性别: Icon_minigender_1
  • 来自: 美国图森
社区版块
存档分类
最新评论

Junit测试private方法

    博客分类:
  • Java
阅读更多
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);
		
	}

}

 

3
0
分享到:
评论

相关推荐

    junit测试private函数

    5. **断言结果**:在JUnit测试中,我们可以使用`assertEquals()`等断言方法,验证私有方法执行后的结果是否符合预期。 下面是一个简单的例子,展示如何使用JUnit测试私有方法: ```java import org.junit.Test; ...

    junit测试工具以及安装方法

    本文将详细介绍JUnit测试工具及其安装方法。 **一、JUnit简介** JUnit是一个开源的、基于Java的测试框架,主要用于编写和运行可重复的单元测试。它的设计理念是使测试成为开发过程中的一个自然部分,通过自动化测试...

    JUnit测试代码示例

    1. **测试注解**:在JUnit3中,测试类和方法是通过继承`junit.framework.TestCase`类来定义的。每个测试方法都以`test`开头,例如`testExample()`。这种方法现在已经被注解所取代,但在JUnit3中仍然是基础。 2. **...

    Junit 计算器测试

    总结来说,"Junit计算器测试"是一个很好的实践项目,它可以帮助初学者理解Junit的基本用法,包括创建测试类、编写测试方法、使用断言以及理解测试生命周期。通过这样的练习,开发者可以逐步掌握单元测试的精髓,提高...

    实验三:junit测试.rar

    JUnit测试通常以`@Test`注解的方法形式存在。一个测试类可以包含多个测试方法,每个方法对应一个要测试的代码逻辑。例如: ```java import org.junit.jupiter.api.Test; import static org.junit.jupiter.api....

    JUnit测试Sum_Divide

    在"JUnit测试Sum_Divide"这个项目中,我们可以理解为作者创建了一个用于测试整数除法操作的测试类或方法。下面我们将深入探讨JUnit的基本概念、如何创建测试用例以及如何进行整数除法的测试。 首先,JUnit是一个...

    junit参数化测试的使用方法

    此时,传统的JUnit测试方法就显得有些力不从心了,因为每个测试方法只能对应一组测试数据。为了解决这个问题,JUnit引入了参数化测试的概念,使得开发者能够通过一次性的定义多个数据集来覆盖多种测试场景。 #### ...

    优化对Private方法进行单元测试Demo

    首先,让我们探讨一下为何不直接测试private方法。private方法是类的内部实现细节,它们的设计和实现是为了支持公共方法的功能。这些方法对外部世界是不可见的,因此它们的行为应该通过公共接口来间接验证。如果一个...

    Java单元测试之JUnit

    在这个"Java单元测试之JUnit"的代码实践中,我们将深入探讨JUnit的基本使用方法以及它在Java项目中的应用。 首先,JUnit是一个开源的、基于Java的测试框架,它允许开发者编写可执行的测试用例来检查代码的功能。...

    Junit4单元测试入门例子

    Junit4通过注解(Annotation)来简化测试用例的编写,例如`@Test`注解标记测试方法,`@Before`和`@After`注解分别表示在每个测试方法执行前后的准备工作和清理工作。Calculate类包含四个方法:add、subtract、...

    用Junit进行单元测试junit4.5

    1. **注解驱动(Annotation-Based)**:JUnit 4.5引入了注解来声明测试方法和类,如`@Test`、`@Before`、`@After`等,这使得测试代码更加简洁易读。 2. **参数化测试(Parameterized Tests)**:`@RunWith...

    Junit参数化测试源代码

    6. **编写测试方法**:如同普通JUnit测试,编写`@Test`注解的方法,但此时的测试方法将使用参数化方法提供的数据。 例如,一个简单的参数化测试类可能如下所示: ```java @RunWith(Parameterized.class) public ...

    基于Spring的JUnit单元测试

    JUnit的`@Test`注解标识了测试方法,例如: ```java @Test public void testMyMethod() { String result = myService.myMethod(); assertEquals("Expected result", result); } ``` `assertEquals`是JUnit提供的...

    JUnit4学习方法

    #### 五、生成JUnit测试框架 1. **右键点击Calculator类**:在Eclipse的Package Explorer中找到Calculator类,右键点击选择“JUnit Test Case”。 2. **选择测试方法**:在弹出的对话框中选择需要测试的方法,并...

    Junit4测试总结

    JUnit4提供了丰富的断言方法,如`assertEquals()`、`assertTrue()`、`assertFalse()`等,用于检查测试结果是否符合预期。这些断言方法可以帮助我们判断程序的输出是否正确,是测试的关键组成部分。 ```java @Test ...

    spring4+JUnit简单测试

    《Spring4与JUnit的简单测试实践》 在Java开发领域,Spring框架以其强大的功能和灵活性深受开发者喜爱。Spring4作为其一个重要的版本,引入了许多改进和优化,使得测试变得更加便捷。而JUnit作为Java单元测试的事实...

    JUnit 4测试驱动开发----junit技术讲解

    在JUnit 4中,每个@Test注解的方法就是一个单元测试,每个测试方法应该独立于其他方法运行,避免了方法间的影响。 3. 更高级的JUnit 4特性 除了基本的断言和@Test注解外,JUnit 4还提供了许多高级特性,如: - `@...

    Junit5.jar包,代码测试工具

    JUnit Vintage则用于支持早期版本的JUnit测试。 1. **JUnit Jupiter**: - **注解**:JUnit5引入了新的注解,如`@Test`、`@BeforeAll`、`@BeforeEach`、`@AfterEach`和`@AfterAll`,它们分别代表测试方法、所有...

    基于Junit的HttpUnit测试

    `JUnit` 提供了注解(annotation)来简化测试的组织,例如 `@Test` 注解标记测试方法,`@Before` 和 `@After` 注解分别用于在每个测试前和后执行的初始化和清理操作。 **二、HttpUnit简介** `HttpUnit` 是一个模拟...

Global site tag (gtag.js) - Google Analytics