单元测试与Spring框架

单元测试与Spring框架

参考博客
源代码

当进行单元测试的时候,需要给对象的依赖一个mock对象
但是对于Spring项目对象的私有成员,我们无法访问给他一个mock对象.这个时候我们就需要ReflectionTestUtils,他能够像Spring一样注入filed,通过手动给私有成员一个mock对象

public class ObjectA {
    private String pwString;

    public String getPwString() {
        return pwString;
    }

    public void setPwString(String pwString) {
        this.pwString = pwString;
    }
}

被测试类

public class ObjectB {
    private ObjectA objectA;

    public ObjectA getObjectA() {
        return objectA;
    }

    public void setObjectA(ObjectA objectA) {
        this.objectA = objectA;
    }

}

测试类

import static org.junit.Assert.*;
import static org.mockito.Mockito.*;
import org.junit.Test;
import org.springframework.test.util.ReflectionTestUtils;

public class testMockito {
    @Test
    public void test() {
        ObjectB objectB = new ObjectB();
        ObjectA objectA = mock(ObjectA.class);
        when(objectA.getPwString()).thenReturn("hello A");
        //"objectA"是通过成员变量名字确定的
        ReflectionTestUtils.setField(objectB, "objectA", objectA);

        ObjectA actucalA = objectB.getObjectA();
        assertEquals("hello A", actucalA.getPwString());
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值