[英]How to skip invocation of super method from abstract class in junit test?
在這種情況下編寫單元測試的更好方法是什么
public abstract class Parent {
public void initialize() {
//some logic
}
}
public class Child extends Parent {
public void initialize(){
super.initialize()
//some logic
}
}
@Test
public void testInitialize() {
Child child = new Child();
// Prevent/stub logic in super.method()
Mockito.doNothing().when(child)./*super method called*/
verify(...)
}
從父抽象類模擬超級方法的問題,我需要防止其執行。
我已經找到了非抽象父類的方法,但是在我的情況下不起作用:
Child spy = Mockito.spy(new Child());
// Prevent/stub logic in super.method()
Mockito.doNothing().when((Parent)spy).initialize();
這一事實Child extends Parent
是一個實現細節Child
,你的測試不應該關心它。 通常這是您需要重組基類的信號,例如通過引入依賴注入。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.