我想測試的服務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