0
如何嘲笑private final MockClass mockClass = new MockClass();
模擬最終的新實例創建?
public class SimpleClass {
private final MockClass mockClass = new MockClass();
}
如何嘲笑private final MockClass mockClass = new MockClass();
模擬最終的新實例創建?
public class SimpleClass {
private final MockClass mockClass = new MockClass();
}
使用依賴注入;那麼你可以有任何你想要的領域:
class SimpleClass {
private final MockClass mockClass;
SimpleClass(MockClass mockClass) {
this.mockClass = mockClass;
}
}
見Misko Hevery's guide to writing testable code:你的代碼是「在構造函數或字段聲明新關鍵字」的警示標誌的例子。
我有這種情況,我想知道任何框架都會嘲笑這種情況嗎?我知道我編寫的代碼不可測試,但我有這種情況 –
取決於您正在使用哪個模擬庫。有了PowerMock,它需要一個'mockStatic(MockClass.class)'調用。使用JMockit,你可以聲明一個'@Mocked MockClass'字段或參數。 –