`
sun113
  • 浏览: 51310 次
  • 来自: NeverNeverlaNd
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

junit私有方法测试

阅读更多
私有方法如下:
package testPrivateMethod;

public class MainMethod {
   
    public MainMethod(){}

    private String flag ="1234567890";
    public void todo(){
        op1();
        op2();
        System.out.println(flag);
    }
   
    private void op1(){
        flag = flag.substring(2,7);
    }
   
    private void op2(){
        flag = flag.substring(2);
    }

    /**
     * @return the flag.
     */
    public String getFlag() {
        return flag;
    }

    /**
     * @param The flag to set.
     */
    public void setFlag(String flag) {
        this.flag = flag;
    }
   
}
这里只测试op1这个方法,测试代码如下:
package testPrivateMethod.test;

import java.lang.reflect.Field;
import java.lang.reflect.Method;

import junit.framework.TestCase;
import testPrivateMethod.MainMethod;

public class MainMethodTest extends TestCase {

    public void testOp1(){
        try{
            String rightValue="34567";
            Class clazz = Class.forName("testPrivateMethod.MainMethod");
            MainMethod example = (MainMethod)clazz.newInstance();
            Method m1 = example.getClass().getDeclaredMethod("op1",null);
            m1.invoke(example,null);
            assertEquals(example.getFlag(),rightValue);
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}
记录下来,回去睡觉!
分享到:
评论
1 楼 tacyuuhon 2008-07-05  
摆脱,把Accessible打开。

相关推荐

    junit测试private函数

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

    对私有方法进行单元测试

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

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

    3. 在测试方法内,获取要测试的类实例,如`Commodity_Child child = new Commodity_Child()` 4. 使用`child.getClass()`获取`Commodity_Child`的`Class`对象。 5. 通过`Class`对象的`getDeclaredMethod()`或`...

    spring MVC junit 单元测试(controller)

    6. **断言结果**:在测试方法的最后,使用JUnit的断言方法(如`assertEquals()`、`assertThat()`)来验证测试结果是否符合预期。 7. **测试覆盖率**:除了基础功能测试,还应覆盖各种边界条件、异常处理和错误路径...

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

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

    JUnit中如何测试异常.doc

    为了测试这个功能,我们创建了两个测试方法: 1. `testDoValidate`:这个方法用于测试正常情况,即验证有效的电子邮件地址。它调用 `doValidate` 方法并传入一系列已知的合法 email 地址,期望在这些情况下不抛出...

    Nextday、Nextyear的Junit白盒测试

    类似的,我们可以编写其他测试方法来测试NextDay类的其他方法,例如testLastDay方法来测试lastDay方法,testNextDay方法来测试nextDay方法,以此类推。 通过对NextDay类的Junit测试,我们可以确保NextDay类的正确性...

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

    1. **测试注解**:JUnit的`@Test`注解标记测试方法,`@Before`和`@After`注解分别用于在每个测试方法之前和之后执行的代码。 2. **异常断言**:JUnit的`assertThat()`方法可以用来验证预期的异常是否抛出。 3. **...

    JUnit中获取测试类及方法的名称实现方法

    在`TestName`的源代码中,有一个名为`fName`的私有字段,用于存储测试方法的名称。`TestName`重写了`TestWatcher`的`starting(Description d)`方法,当测试开始时,它会从`Description`对象中获取测试方法的名称并...

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

    在测试类中,我们可以定义一个或多个测试方法,每个方法都使用JUnit的`@Test`注解标记。例如: ```java import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org....

    面象对象软件测试技术junit

    - **注解**:JUnit 4引入了注解,如`@Test`用于标记测试方法,`@Before`和`@After`用于定义测试前后的初始化和清理操作。 - **断言**:`assertEquals()`、`assertTrue()`等断言方法用于验证测试结果是否符合预期。 -...

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

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

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

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

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

    使用 `@Test` 注解标记测试方法。例如,验证 `add` 方法是否正确: ```java import org.junit.Test; import static org.junit.Assert.assertEquals; public class CalculatorTest { @Test public void ...

    单体测试-Guide.pdf

    单体测试(Unit Test)是一种软件测试方法,旨在验证软件的每个单元是否正确地执行其预期的功能。单体测试是软件开发中不可或缺的一部分,目的是为了确保软件的可靠性、稳定性和高效性。 从文件中,我们可以看到...

    Junit 类包详解

    - **public TestCase(String name)**: 构造函数,允许指定测试方法的名称。 - **countTestCases**: 返回当前测试用例的数量,默认为1。 - **name**: 已弃用的方法,建议使用`getName()`代替。 - **run**: 执行...

    JUnit的学习和经验分享

    在使用JUnit测试Money这个类时,我们可以编写多个测试方法来测试不同的场景,如测试amount()方法、测试currency()方法、测试add()方法等。 结论 JUnit是一个功能强大且广泛使用的Java测试框架。通过学习JUnit,...

    powermock-easymock-junit-1.5.4.zip

    PowerMock是一个扩展了其他模拟框架(如EasyMock、Mockito等)的库,它可以模拟静态方法、构造函数、final类和方法、私有方法以及删除静态初始化器等,这些都是传统模拟框架难以处理的情况。在进行单元测试时,有些...

Global site tag (gtag.js) - Google Analytics