我們正在爲使用Spring自動裝配注入作爲接口實例的依賴項的類編寫JUnit測試。由於被測試的類永遠不會明確地實例化依賴關係或者將它傳遞給了構造函數,所以JMockit似乎也沒有義務實例化它。使用JMockit模擬自動裝配的接口實現
到目前爲止,我們一直在使用SpringRunner來爲我們提供Spring加載模擬依賴項,我們不喜歡這件事的兩件事是1)每次運行測試都不是很快,Spring框架必須被加載和初始化; 2)我們被迫顯式地創建所有的模擬依賴作爲真正的類, JMockit有助於消除。
下面是我們正在測試什麼的一個簡單的例子:
public class UnitUnderTest {
@Autowired
ISomeInterface someInterface;
public void callInterfaceMethod() {
System.out.println("UnitUnderTest.callInterfaceMethod calling someInterface.doSomething");
someInterface.doSomething();
}
}
所以,問題是,是否有辦法有JMockit創建一個模擬someInterface
?
另請參閱:http://stackoverflow.com/questions/1638911/mock-object-and-spring-annotations – 2009-12-30 16:04:54