`

java junit 测私有方法

 
阅读更多

JUnit4--测试私有方法

package com.test.junit3;

public class calcutate2 {

      private int add(int a, int b) {

      return a + b;

  }

}

 

package com.test.junit3;

import org.junit.Assert;

import java.lang.reflect.Method;

import org.junit.Test;

 

public class privateTest {

 @Test
 @SuppressWarnings("unchecked")
 public void testAdd()
 {
  calcutate2 cal = new calcutate2();
  
  Class c = calcutate2.class;//获得class类
  
  try
  {
   Method method = c.getDeclaredMethod("add", new Class[]{int.class,int.class});//获得method.注意,这里不能使用getMethod方法,因为这个方法只能获取public修饰的方法..
   method.setAccessible(true);//这个设置为true.可以无视java的封装..不设置这个也无法或者这个Method
   Object result = method.invoke(cal, new Object[]{1,10});
   Assert.assertEquals(11, result);//这里自定拆箱..
  }
  catch (Exception e)
  {
   e.printStackTrace();
  }
 }
}

 

分享到:
评论

相关推荐

    junit测试private函数

    下面是一个简单的例子,展示如何使用JUnit测试私有方法: ```java import org.junit.Test; import static org.junit.Assert.assertEquals; public class PrivateMethodTest { @Test public void testPrivate...

    对私有方法进行单元测试

    私有方法通常不直接暴露给外部调用,因此,常规的单元测试框架如JUnit或TestNG可能无法直接对它们进行测试。然而,这并不意味着我们不能或者不应该测试这些方法。实际上,有几种策略可以用来确保私有方法的正确性。 ...

    利用PowerMock模拟静态方法和私有方法的示例

    在单元测试中,我们通常不直接测试私有方法,而是通过测试公有方法来间接验证私有方法的正确性。然而,有时私有方法包含了复杂的逻辑,为了确保整个类的正确性,我们可能需要对其进行单独测试。PowerMock允许我们...

    spring MVC junit 单元测试(controller)

    在实际应用中,我们可以结合Mockito、PowerMock等工具进一步增强测试能力,例如模拟静态方法、私有方法或构造函数的行为。此外,还可以考虑使用持续集成工具(如Jenkins、Travis CI)自动化测试过程,确保每次代码...

    JUnit4利用反射机制测试类的私有成员

    然而,对于类的私有成员(包括私有方法和私有属性),由于其封装性,通常不易直接进行测试。但实际情况中,私有成员可能对类的行为产生关键影响,因此测试它们也是必要的。本文将介绍如何使用JUnit4结合Java的反射...

    PowerMock+Mockito-junit测试套件1.6.3版本

    PowerMock是一个扩展了其他Mocking框架(如EasyMock和Mockito)的库,它允许开发者对静态方法、构造函数、final类和方法、私有方法以及删除静态初始化器进行模拟和mock。在传统测试框架中,这些通常是难以或无法测试...

    Nextday、Nextyear的Junit白盒测试

    Nextday、Nextyear的Junit白盒...本资源提供了一个简单的NextDay类和Junit测试的示例代码,展示了如何使用Junit框架来测试Java类。通过学习本资源,您可以了解Junit测试的基本概念和实现方法,并且提高自己的编程技能。

    JBoss encore 工程和 JUnit测试自动生成工具2

    它扩展了JUnit和TestNG,允许开发者模拟静态方法、构造函数、私有方法和删除final修饰,这在进行复杂的测试场景模拟时非常有用。在encore工程中,powermock可以帮助我们隔离被测试代码,确保测试的准确性。 至于...

    Java测试新技术TestNG和高级概念.part1

    展示了与测试有关的折衷考虑,...7.6 测试私有方法 7.7 测试与封装 7.8 调试器的威力 7.9 记日志的最佳实践 7.10 时间的价值 7.11 本章小结 附录A IDE集成 附录B TestNG JavaDoc 附录C testng.xml 附录D 从JUnit迁移

    Java反射机制,通过对象访问调用类的私有成员或方法

    要调用私有方法,我们需要使用`Method`类,先获取到该方法的`Method`对象,然后通过`setAccessible(true)`将其访问权限设为可访问,最后通过`invoke()`方法调用: ```java Method privateMethod = personClass....

    java单元测试依赖jar和eclipse插件

    PowerMock是一个扩展了其他Mocking框架(如Mockito)的库,它可以模拟静态方法、构造函数、final类和方法、私有方法以及删除静态初始化器。这样,即使被测试的类有难以控制的依赖,我们也能进行有效的单元测试。 ...

    Java测试新技术TestNG和高级概念.part2

    展示了与测试有关的折衷考虑,...7.6 测试私有方法 7.7 测试与封装 7.8 调试器的威力 7.9 记日志的最佳实践 7.10 时间的价值 7.11 本章小结 附录A IDE集成 附录B TestNG JavaDoc 附录C testng.xml 附录D 从JUnit迁移

    junit完整教程(原创文章,版权所有,请勿侵权)

    虽然最佳实践不鼓励直接测试私有方法,但在某些情况下可能需要这样做。可以使用反射来访问并测试私有方法。 #### 4.3 异常测试 **引发 `Exception` 衍生异常:** 使用 `@Test(expected = Exception.class)` 注解来...

    JUnit的学习和经验分享

    JUnit学习和经验分享 JUnit是一个广泛使用的Java测试框架,旨在简化测试的编写、提高测试的效率和简化测试的维护。...同时,我们也可以应用JUnit来测试各种不同的Java类和方法,从而提高软件的质量和可靠性。

    JUnit中如何测试异常.doc

    为了实现这一点,我们在 `testDoValidateException` 方法中调用了一个私有辅助方法 `testDoValidateException(String email)`,这个辅助方法包含一个 try-catch 块。当 `doValidate` 不抛出异常时,`fail("未抛出...

    accessive包-帮助访问私有参数和私有变量

    然而,在进行单元测试时,尤其是使用JUnit这样的测试框架时,有时我们需要直接访问或操作私有方法和变量以确保代码的正确性。这时,`accessive`包就派上了用场。 `accessive`是一个小型的Java框架,它的主要目的是...

    Spring整合Junit框架进行单元测试Demo

    除了基本的单元测试,我们还可以结合Mockito、PowerMock等库进行更高级的测试,如模拟静态方法、私有方法或final类。这些工具可以帮助我们处理那些难以直接测试的代码。 总之,Spring整合JUnit进行单元测试是一个...

    Junit 类包详解

    - **私有方法**: - **failNotEquals**: 用于辅助`assertEquals`方法,当发现不等时调用`fail`。 - **failNotSame**: 辅助`assertSame`方法,当发现对象不是同一引用时调用`fail`。 ##### Class ...

Global site tag (gtag.js) - Google Analytics