我想测试的服务A,其具有方法methodA1,A指的是一个服务B,其具有方法methodB1,与差豆服务弹簧测试
在methodB1被称为在methodA1,
@Service
class A{
@Autowired
B b;
void methodA1{
....
b.methodB1();
.....
}
}
@Service
class B{
void methodB1{
....
}
}
现在,我想测试methodA1,但方法B1需要重写,所以我创建了一个新的类BMock;
@Service("bMock")
class BMock execute B{
@Override
void methodB1{
....
}
}
测试情况是这样的:
class testClass extends springTest{
@Autowired
A a;
@Autowired
@Qualifier("bMock")
B b;
@Test
public void testMethodA1(){
a.methodA1();
}
}
实际上,在methodA1随时调用methodB1在B类,我想它来调用BMock测试的情况下,该怎么办呢?
为什么不使用easymock/powermock/mockito等模拟框架? – SMA
'@Qualifier(“bMock”)'在这种情况下不会做任何事情(AFAIK)。你的界面。而不是concreate'B使用'AnInterfaceThatBImplements b' – Shahzeb
@Shahzeb,你的意思是我需要创建一个接口Ib,B类和BMock实现接口Ib?如果这样,bMock可以在测试用例中调用吗? – Mike