[英]How to Mock Object in Jmock? If Object created using new operator
[英]mock an object which created by new operator in java without power mock feature
我想模擬在代碼中使用new運算符創建的對象。 我不想使用電源模擬功能。 我怎么能做到這一點。 我正在將策略模式與責任鏈模式一起用於此示例代碼
ValidationHandlerProcessor validationHandlerProcessor = new ValidationHandlerProcessor();
List<ValidationHandler> dataValidationHandlers = validationHandlerProcessor.getDataValidationHandlers();
dataValidationHandlers.add(new abcHandler());
validationHandlerProcessor.validate(componentInfoInput);
從ValidationHandlerProcessor繼承並創建一個新的類ValidationHandlerProcessorMock,現在在此模擬中使用validate方法或您要模擬的任何方法。
public class ValidationHandlerProcessorMock extends ValidationHandlerProcessor{
public void validate(args){
// write mock code here
}
}
現在在測試文件中使用
ValidationHandlerProcessor validationHandlerProcessor = new ValidationHandlerProcessorMock();
簡單地說:您不能。
模擬對new的調用的能力需要轉向PowerMock(ito)或JMockit框架。
真正的答案是:重做您的生產代碼, 不要在這里調用new; 例如由
長話短說:在使用PowerMock或其他框架之前,請學習如何創建可測試的代碼。 例如,觀看這些視頻 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.