मैं मॉकिटो को मॉकिंग फ्रेमवर्क के रूप में उपयोग कर रहा हूं। मेरे पास एक scenerio है, मेरा कब (abc.method())। फिर वापसी (मान) मूल्य वापस नहीं करता है, इसके बजाय यह शून्य देता है।मॉकिटो जब विधि काम नहीं कर रहा है
public class DQExecWorkflowServiceImplTest {
@InjectMocks
DQExecWorkflowServiceImpl dqExecWorkflowServiceImpl = new DQExecWorkflowServiceImpl();
@Mock
private DQUtility dqUtility;
@Mock
private DqExec dqExec;
@Mock
private DqCntlDefn dqCntlDefn;
@Mock
private DqCntlWfDefn dqCntlWfDefn;
@Mock
private DqCntlWfDefnTyp dqCntlWfDefnTyp;
@Mock
private IDQControlWfDefTypeService controlWfDefTypeService;
@Before
public void setUp() throws Exception {
dqExec = new DqExec();
dqCntlWfDefn = new DqCntlWfDefn();
dqUtility = new DQUtility();
dqCntlWfDefnTyp = new DqCntlWfDefnTyp();
dqCntlWfDefnTyp.setDqCntlWfDefnTypCd("MIN_INCLUSIVE_VAL");
dqExecWorkflowServiceImpl
.setControlWfDefTypeService(controlWfDefTypeService);
}
@Test
public void testExecuteWorkflow() {
when(controlWfDefTypeService.getDqCntlWfDefnTypCd(dqCntlWfDefn))
.thenReturn(dqCntlWfDefnTyp);
dqExecWorkflowServiceImpl.executeWorkflow(dqExec, dqCntlWfDefn);
}
}
जावा वर्ग
@Override
public DqCntlWfExec executeWorkflow(final DqExec dqExec,
final DqCntlWfDefn dqCntlWfDefn) {
final DqCntlWfExec dqCntlWfExec = new DqCntlWfExec();
dqCntlWfExec.setDqCntlWfExecEffDt(dqUtil.getDefaultEffectiveDt());
dqCntlWfExec.setDqCntlWfExecExpDt(dqUtil.getDefaultExpiryDt());
dqCntlWfExec.setDqCntlWfDefn(dqCntlWfDefn);
dqCntlWfExec.setDqExec(dqExec);
final DqCntlWfDefnTyp dqCntlWfDefnTyp = controlWfDefTypeService
.getDqCntlWfDefnTypCd(dqCntlWfDefn);
String workflowType = null;
if(null!=dqCntlWfDefnTyp){
workflowType = dqCntlWfDefnTyp.getDqCntlWfDefnTypCd();
}
जब कभी मैं परीक्षण फ़ाइल को चलाने के लिए जब काम नहीं कर रहा और मैं buildpath में mockito1.8.5 जार उपयोग कर रहा हूँ। सेवा कॉल का मज़ाक उड़ाया जा रहा है लेकिन शून्य मूल्य देता है।
final DqCntlWfDefnTyp dqCntlWfDefnTyp = controlWfDefTypeService
.getDqCntlWfDefnTypCd(dqCntlWfDefn);
इस वस्तु dqCntlWfDefnTyp अशक्त
मैंने पहले यह किया है और जब, यह फ़ाइलों मैं पहले किया है के साथ काम कर रहा है वहाँ के साथ कोई समस्या नहीं थी। मैंने परीक्षण फ़ाइल के लिए एक ही प्रक्रिया का पालन किया था लेकिन मैं इस मुद्दे को समझ नहीं पाया। किसी को भी मुझे
सभी लोगों को धन्यवाद सहायता कृपया अग्रिम
इसे एक छोटे से उदाहरण में कम करने का प्रयास करें, यह बहुत अपठनीय है। और मुझे यकीन है कि उन नामों को आपके नियंत्रण में नहीं है, क्योंकि 'setDqCntlWfExecEffDt' के लिए कोई बहाना नहीं है। ध्यान दें कि संक्षेप में कोड कितना असंगत है या नहीं: 'setDqCntlWfExecEffDt' बनाम' getDefaultEffectiveDt', 'executeWorkflow' बनाम' DqCntlWfExec', आदि गंभीर रूप से, कोड को TheDailyWTF को सबमिट किया जा सकता है। –
कोड को दोबारा प्रतिक्रिया दी गई है और इसे पढ़ने योग्य बनाया गया है – Gopinathan
क्या आप त्रुटि/आउटपुट जोड़ सकते हैं? आप कैसे जानते हैं कि यह 'शून्य' है? क्या आप इसे 'वर्कफ़्लो टाइप' से ले रहे हैं ... क्या यह हो सकता है।getDqCntlWfDefnTypCd() '' null' लौट रहा है? आदि ... FWIW, मुझे लगता है कि मूल कोड इस कुंजी को पकड़ सकता है। :-) – Jonathan