java构造方法怎么mock,java - @@ InjectMocks通过构造方法和设置方法注入@MockBean不能正常工作 - SO中文参考 - www.soinside.com...

我通过取消@RunWith(SpringJUnit4ClassRunner.class)尝试了很多次我试图用getter和Constructor注入创建一个测试用例。当我将@MockBean用于setter注入时,将@Mock用于构造函数注入,并且还使用@RunWith(SpringJUnit4ClassRunner.class)和MockitoAnnotations.initMocks(this); bean注入。如果我评论MockitoAnnotations.initMocks(this);构造函数注入无效。现在所有的bean都被完美地注入了,但是@Mock bean(注入了Contructor)bean嘲笑了它们在调用时无法正常工作。@Component

Class A{

}

@Component

Class B {

}

@Component

Class c{

}

@Component

Class D{

@Atowired

A a;

B b;

C c;

@Autowired

public D(B b,C c){

b=b;

c=c;

}

}

我的测试班是@RunWith(SpringJUnit4ClassRunner.class)

Class TestClass{

@MockBean

A mockA

@Mock

B mockB

@Mock

C mockC

@InjectMocks

D mockD

@Before

public void setUp() {

MockitoAnnotations.initMocks(this);//Without this Constructor injection not working

when(mockA.getValue()).then("StringValA");

when(mockB.getValue()).then("StringValB");

when(mockC.getValue()).then("StringValC");

}

@Test

public void testMethod(){

mock.getAllValues();// It will call all injested bean method we are mocked in @before

}

}

我通过取消使用@RunWith(SpringJUnit4ClassRunner.class)尝试了很多次,我试图用getter和Constructor注入创建一个针对一个类的测试用例。当我使用@MockBean作为设置程序时...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值