मैं मॉकिटो के साथ सत्यापित करने का एक तरीका ढूंढ रहा हूं, कि परीक्षण के दौरान दिए गए मॉक के साथ कोई बातचीत नहीं हुई थी। सत्यापन मोड never()
के साथ किसी दिए गए विधि के लिए इसे प्राप्त करना आसान है, लेकिन मुझे अभी तक पूर्ण मॉक के लिए समाधान नहीं मिला है।मॉकिटो - यह सत्यापित करने के लिए कि एक नकली को कभी भी नहीं बुलाया गया था
जो मैं वास्तव में प्राप्त करना चाहता हूं: परीक्षणों में सत्यापित करें, कि कंसोल पर कुछ भी मुद्रित नहीं होता है। JUnit साथ सामान्य विचार है कि प्रकार है:
private PrintStream systemOut;
@Before
public void setUp() {
// spy on System.out
systemOut = spy(System.out);
}
@After
public void tearDown() {
verify(systemOut, never()); // <-- that doesn't work, just shows the intention
}
एक PrintStream
तरीकों की टन है और मैं वास्तव में प्रत्येक सत्यापित करने के लिए नहीं करना चाहते हैं और अलग की पुष्टि के साथ हर एक - और System.err
के लिए एक ही ...
तो मुझे आशा है कि, यदि कोई आसान समाधान है, तो मैं यह कर सकता हूं कि मेरे पास एक अच्छा परीक्षण कवरेज है, सॉफ़्टवेयर इंजीनियरों (और स्वयं) को अपने (मेरा) डीबग कोड को System.out.println("Breakpoint#1");
या e.printStacktrace();
जैसे परिवर्तन करने से पहले निकालने के लिए मजबूर करें।
ऐसा लगता है कि मैं इस दृष्टिकोण के लिए सबसे अच्छा कर सकता हूं। धन्यवाद! (मैंने वास्तव में एक सहायक वर्ग में अधिकांश तर्क छुपाए हैं और लॉगर को भी चुप करना पड़ा;)) –